const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/javascript-CX2hOwYB.js","assets/typescript-DzHqywIL.js"])))=>i.map(i=>d[i]); var bc=Object.defineProperty;var cc=n=>{throw TypeError(n)};var Cc=(n,e,t)=>e in n?bc(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Ci=(n,e,t)=>Cc(n,typeof e!="symbol"?e+"":e,t),dc=(n,e,t)=>e.has(n)||cc("Cannot "+t);var On=(n,e,t)=>(dc(n,e,"read from private field"),t?t.call(n):e.get(n)),io=(n,e,t)=>e.has(n)?cc("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),lo=(n,e,t,i)=>(dc(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.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/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$k=Object.prototype.hasOwnProperty,hasOwn$1=(n,e)=>hasOwnProperty$k.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$6=n=>typeof n=="function",isString$5=n=>typeof n=="string",isSymbol$1=n=>typeof n=="symbol",isObject$7=n=>n!==null&&typeof n=="object",isPromise$1=n=>(isObject$7(n)||isFunction$6(n))&&isFunction$6(n.then)&&isFunction$6(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$5(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=>e.slice(1).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$5(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$5(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$5(n)?n:n==null?"":isArray$4(n)||isObject$7(n)&&(n.toString===objectToString$2||!isFunction$6(n.toString))?isRef$1(n)?toDisplayString(n.value):JSON.stringify(n,replacer$1,2):String(n),replacer$1=(n,e)=>isRef$1(e)?replacer$1(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$7(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.21 * (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$3=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,this.__v_skip=!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$3(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),z=L&&isIntegerKey(t);if(L&&t==="length"){const V=Number(i);y.forEach((j,ie)=>{(ie==="length"||ie===ARRAY_ITERATE_KEY||!isSymbol$1(ie)&&ie>=V)&&k(j)})}else switch((t!==void 0||y.has(void 0))&&k(y.get(t)),z&&k(y.get(ARRAY_ITERATE_KEY)),e){case"add":L?z&&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$1))}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$1)},concat(...n){return reactiveReadArray(this).concat(...n.map(e=>isArray$4(e)?reactiveReadArray(e):e))},entries(){return iterator(this,"entries",n=>(n[1]=toReactive$1(n[1]),n))},every(n,e){return apply$2(this,"every",n,e,void 0,arguments)},filter(n,e){return apply$2(this,"filter",n,e,t=>t.map(toReactive$1),arguments)},find(n,e){return apply$2(this,"find",n,e,toReactive$1,arguments)},findIndex(n,e){return apply$2(this,"findIndex",n,e,void 0,arguments)},findLast(n,e){return apply$2(this,"findLast",n,e,toReactive$1,arguments)},findLastIndex(n,e){return apply$2(this,"findLastIndex",n,e,void 0,arguments)},forEach(n,e){return apply$2(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$2(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$2(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$1)}};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$2(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$1(j):j}let z=t;y!==n&&(k?z=function(j,ie){return t.call(this,toReactive$1(j),ie,n)}:t.length>2&&(z=function(j,ie){return t.call(this,j,ie,n)}));const V=L.call(y,z,i);return k&&r?r(V):V}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$1(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$j(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$j}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$7(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||(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,z=r[n](...i),V=t?toShallow:e?toReadonly:toReactive$1;return!e&&track(g,"iterate",L?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:j,done:ie}=z.next();return ie?{value:j,done:ie}:{value:k?[V(j[0]),V(j[1])]:V(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),z=e?toShallow:n?toReadonly:toReactive$1;if(L.call(y,r))return z(g.get(r));if(L.call(y,k))return z(g.get(k));g!==y&&g.get(r)},get size(){const r=this.__v_raw;return!n&&track(toRaw(r),"iterate",ITERATE_KEY),r.size},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),z=e?toShallow:n?toReadonly:toReactive$1;return!n&&track(L,"iterate",ITERATE_KEY),k.forEach((V,j)=>r.call(g,z(V),z(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 z=k.call(y,r);z||(r=toRaw(r),z=k.call(y,r));const V=L.call(y,r);return y.set(r,g),z?hasChanged(g,V)&&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 z=g.delete(r);return L&&trigger(g,"delete",r,void 0),z},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$7(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$1=n=>isObject$7(n)?reactive$1(n):n,toReadonly=n=>isObject$7(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$1(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$1(e),this.dep.trigger())}}function triggerRef(n){n.dep&&n.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$6(n)?new GetterRefImpl(n):isObject$7(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$6(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,z=pe=>r?pe:isShallow(pe)||r===!1||r===0?traverse(pe,1):traverse(pe);let V,j,ie,oe,re=!1,ae=!1;if(isRef(n)?(j=()=>n.value,re=isShallow(n)):isReactive(n)?(j=()=>z(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 z(pe);if(isFunction$6(pe))return L?L(pe,2):pe()})):isFunction$6(n)?e?j=L?()=>L(n,2):n:j=()=>{if(ie){pauseTracking();try{ie()}finally{resetTracking()}}const pe=activeWatcher;activeWatcher=V;try{return L?L(n,3,[oe]):n(oe)}finally{activeWatcher=pe}}:j=NOOP$1,e&&r){const pe=j,_e=r===!0?1/0:r;j=()=>traverse(pe(),_e)}const le=getCurrentScope(),de=()=>{V.stop(),le&&le.active&&remove(le.effects,V)};if(g&&e){const pe=e;e=(..._e)=>{pe(..._e),de()}}let ue=ae?new Array(n.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const he=pe=>{if(!(!(V.flags&1)||!V.dirty&&!pe))if(e){const _e=V.run();if(r||re||(ae?_e.some((Ce,xe)=>hasChanged(Ce,ue[xe])):hasChanged(_e,ue))){ie&&ie();const Ce=activeWatcher;activeWatcher=V;try{const xe=[_e,ue===INITIAL_WATCHER_VALUE?void 0:ae&&ue[0]===INITIAL_WATCHER_VALUE?[]:ue,oe];ue=_e,L?L(e,3,xe):e(...xe)}finally{activeWatcher=Ce}}}else V.run()};return k&&k(he),V=new ReactiveEffect(j),V.scheduler=y?()=>y(he,!1):he,oe=pe=>onWatcherCleanup(pe,!1,V),ie=V.onStop=()=>{const pe=cleanupMap.get(V);if(pe){if(L)L(pe,4);else for(const _e of pe)_e();cleanupMap.delete(V)}},e?i?he(!0):ue=V.run():y?y(he.bind(null,!0),!0):V.run(),de.pause=V.pause.bind(V),de.resume=V.resume.bind(V),de.stop=de,de}function traverse(n,e=1/0,t){if(e<=0||!isObject$7(n)||n.__v_skip||(t=t||new Map,(t.get(n)||0)>=e))return n;if(t.set(n,e),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.21 * (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$5(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$6(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$6(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$5(t)?e?e(t):null:t},TeleportImpl={name:"Teleport",__isTeleport:!0,process(n,e,t,i,r,g,y,k,L,z){const{mc:V,pc:j,pbc:ie,o:{insert:oe,querySelector:re,createText:ae,createComment:le}}=z,de=isTeleportDisabled(e.props);let{shapeFlag:ue,children:he,dynamicChildren:pe}=e;if(n==null){const _e=e.el=ae(""),Ce=e.anchor=ae("");oe(_e,t,i),oe(Ce,t,i);const xe=(Ne,$e)=>{ue&16&&(r&&r.isCE&&(r.ce._teleportTarget=Ne),V(he,Ne,$e,r,g,y,k,L))},Ie=()=>{const Ne=e.target=resolveTarget(e.props,re),$e=prepareAnchor(Ne,e,ae,oe);Ne&&(y!=="svg"&&isTargetSVG(Ne)?y="svg":y!=="mathml"&&isTargetMathML(Ne)&&(y="mathml"),de||(xe(Ne,$e),updateCssVars(e,!1)))};de&&(xe(t,Ce),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,z)},g);return}e.el=n.el,e.targetStart=n.targetStart;const _e=e.anchor=n.anchor,Ce=e.target=n.target,xe=e.targetAnchor=n.targetAnchor,Ie=isTeleportDisabled(n.props),Ne=Ie?t:Ce,$e=Ie?_e:xe;if(y==="svg"||isTargetSVG(Ce)?y="svg":(y==="mathml"||isTargetMathML(Ce))&&(y="mathml"),pe?(ie(n.dynamicChildren,pe,Ne,r,g,y,k),traverseStaticChildren(n,e,!0)):L||j(n,e,Ne,$e,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,_e,z,1);else if((e.props&&e.props.to)!==(n.props&&n.props.to)){const Oe=e.target=resolveTarget(e.props,re);Oe&&moveTeleport(e,Oe,null,z,0)}else Ie&&moveTeleport(e,Ce,xe,z,1);updateCssVars(e,de)}},remove(n,e,t,{um:i,o:{remove:r}},g){const{shapeFlag:y,children:k,anchor:L,targetStart:z,targetAnchor:V,target:j,props:ie}=n;if(j&&(r(z),r(V)),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 z=resolveTransitionHooks(L,y,i,t,j=>z=j);L.type!==Comment&&setTransitionHooks(L,z);let V=t.subTree&&getInnerChild$1(t.subTree);if(V&&V.type!==Comment&&!isSameVNodeType(V,L)&&recursiveGetSubtree(t).type!==Comment){let j=resolveTransitionHooks(V,y,i,t);if(setTransitionHooks(V,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,V=void 0},emptyPlaceholder(g);k==="in-out"&&L.type!==Comment?j.delayLeave=(ie,oe,re)=>{const ae=getLeavingNodesForType(i,V);ae[String(V.key)]=V,ie[leaveCbKey]=()=>{oe(),ie[leaveCbKey]=void 0,delete z.delayedLeave,V=void 0},z.delayedLeave=()=>{re(),delete z.delayedLeave,V=void 0}}:V=void 0}else V&&(V=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:z,onAfterEnter:V,onEnterCancelled:j,onBeforeLeave:ie,onLeave:oe,onAfterLeave:re,onLeaveCancelled:ae,onBeforeAppear:le,onAppear:de,onAfterAppear:ue,onAppearCancelled:he}=e,pe=String(n.key),_e=getLeavingNodesForType(t,n),Ce=(Ne,$e)=>{Ne&&callWithAsyncErrorHandling(Ne,i,9,$e)},xe=(Ne,$e)=>{const Oe=$e[1];Ce(Ne,$e),isArray$4(Ne)?Ne.every(Fe=>Fe.length<=1)&&Oe():Ne.length<=1&&Oe()},Ie={mode:y,persisted:k,beforeEnter(Ne){let $e=L;if(!t.isMounted)if(g)$e=le||L;else return;Ne[leaveCbKey]&&Ne[leaveCbKey](!0);const Oe=_e[pe];Oe&&isSameVNodeType(n,Oe)&&Oe.el[leaveCbKey]&&Oe.el[leaveCbKey](),Ce($e,[Ne])},enter(Ne){let $e=z,Oe=V,Fe=j;if(!t.isMounted)if(g)$e=de||z,Oe=ue||V,Fe=he||j;else return;let Et=!1;const ze=Ne[enterCbKey$1]=qe=>{Et||(Et=!0,qe?Ce(Fe,[Ne]):Ce(Oe,[Ne]),Ie.delayedLeave&&Ie.delayedLeave(),Ne[enterCbKey$1]=void 0)};$e?xe($e,[Ne,ze]):ze()},leave(Ne,$e){const Oe=String(n.key);if(Ne[enterCbKey$1]&&Ne[enterCbKey$1](!0),t.isUnmounting)return $e();Ce(ie,[Ne]);let Fe=!1;const Et=Ne[leaveCbKey]=ze=>{Fe||(Fe=!0,$e(),ze?Ce(ae,[Ne]):Ce(re,[Ne]),Ne[leaveCbKey]=void 0,_e[Oe]===n&&delete _e[Oe])};_e[Oe]=n,oe?xe(oe,[Ne,Et]):Et()},clone(Ne){const $e=resolveTransitionHooks(Ne,e,t,i,r);return r&&r($e),$e}};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$6(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}const pendingSetRefMap=new WeakMap;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,z=e&&e.r,V=k.refs===EMPTY_OBJ?k.refs={}:k.refs,j=k.setupState,ie=toRaw(j),oe=j===EMPTY_OBJ?NO:re=>hasOwn$1(ie,re);if(z!=null&&z!==L){if(invalidatePendingSetRef(e),isString$5(z))V[z]=null,oe(z)&&(j[z]=null);else if(isRef(z)){z.value=null;const re=e;re.k&&(V[re.k]=null)}}if(isFunction$6(L))callWithErrorHandling(L,k,12,[y,V]);else{const re=isString$5(L),ae=isRef(L);if(re||ae){const le=()=>{if(n.f){const de=re?oe(L)?j[L]:V[L]:L.value;if(r)isArray$4(de)&&remove(de,g);else if(isArray$4(de))de.includes(g)||de.push(g);else if(re)V[L]=[g],oe(L)&&(j[L]=V[L]);else{const ue=[g];L.value=ue,n.k&&(V[n.k]=ue)}}else re?(V[L]=y,oe(L)&&(j[L]=y)):ae&&(L.value=y,n.k&&(V[n.k]=y))};if(y){const de=()=>{le(),pendingSetRefMap.delete(n)};de.id=-1,pendingSetRefMap.set(n,de),queuePostRenderEffect(de,t)}else invalidatePendingSetRef(n),le()}}}function invalidatePendingSetRef(n){const e=pendingSetRefMap.get(n);e&&(e.flags|=8,pendingSetRefMap.delete(n))}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$5(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$1(r[n]||g[n],e)||resolve$1(r.appContext[n],e);return!y&&i?g:y}}function resolve$1(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$5(n)){const k=y&&isReactive(n);let L=!1,z=!1;k&&(L=!isShallow(n),z=isReadonly(n),n=shallowReadArray(n)),r=new Array(n.length);for(let V=0,j=n.length;Ve(k,L,void 0,g));else{const k=Object.keys(n);r=new Array(k.length);for(let L=0,z=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 z;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((z=n.propsOptions[0])&&hasOwn$1(z,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 V=publicPropertiesMap[e];let j,ie;if(V)return e==="$attrs"&&track(n.attrs,"get",""),V(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,type:y}},k){let L,z;return!!(t[k]||n!==EMPTY_OBJ&&k[0]!=="$"&&hasOwn$1(n,k)||hasSetupBinding(e,k)||(L=g[0])&&hasOwn$1(L,k)||hasOwn$1(i,k)||hasOwn$1(publicPropertiesMap,k)||hasOwn$1(r.config.globalProperties,k)||(z=y.__cssModules)&&z[k])},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(n){const e=getCurrentInstance$1();return e.setupContext||(e.setupContext=createSetupContext(e))}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$6(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:z,created:V,beforeMount:j,mounted:ie,beforeUpdate:oe,updated:re,activated:ae,deactivated:le,beforeDestroy:de,beforeUnmount:ue,destroyed:he,unmounted:pe,render:_e,renderTracked:Ce,renderTriggered:xe,errorCaptured:Ie,serverPrefetch:Ne,expose:$e,inheritAttrs:Oe,components:Fe,directives:Et,filters:ze}=e;if(z&&resolveInjections(z,i,null),y)for(const kt in y){const Ue=y[kt];isFunction$6(Ue)&&(i[kt]=Ue.bind(t))}if(r){const kt=r.call(t,t);isObject$7(kt)&&(n.data=reactive$1(kt))}if(shouldCacheAccess=!0,g)for(const kt in g){const Ue=g[kt],Dt=isFunction$6(Ue)?Ue.bind(t,t):isFunction$6(Ue.get)?Ue.get.bind(t,t):NOOP$1,jt=!isFunction$6(Ue)&&isFunction$6(Ue.set)?Ue.set.bind(t):NOOP$1,ei=computed$1({get:Dt,set:jt});Object.defineProperty(i,kt,{enumerable:!0,configurable:!0,get:()=>ei.value,set:ti=>ei.value=ti})}if(k)for(const kt in k)createWatcher(k[kt],i,t,kt);if(L){const kt=isFunction$6(L)?L.call(t):L;Reflect.ownKeys(kt).forEach(Ue=>{provide(Ue,kt[Ue])})}V&&callHook$1(V,n,"c");function Ve(kt,Ue){isArray$4(Ue)?Ue.forEach(Dt=>kt(Dt.bind(t))):Ue&&kt(Ue.bind(t))}if(Ve(onBeforeMount,j),Ve(onMounted,ie),Ve(onBeforeUpdate,oe),Ve(onUpdated,re),Ve(onActivated,ae),Ve(onDeactivated,le),Ve(onErrorCaptured,Ie),Ve(onRenderTracked,Ce),Ve(onRenderTriggered,xe),Ve(onBeforeUnmount,ue),Ve(onUnmounted,pe),Ve(onServerPrefetch,Ne),isArray$4($e))if($e.length){const kt=n.exposed||(n.exposed={});$e.forEach(Ue=>{Object.defineProperty(kt,Ue,{get:()=>t[Ue],set:Dt=>t[Ue]=Dt,enumerable:!0})})}else n.exposed||(n.exposed={});_e&&n.render===NOOP$1&&(n.render=_e),Oe!=null&&(n.inheritAttrs=Oe),Fe&&(n.components=Fe),Et&&(n.directives=Et),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$7(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$5(n)){const g=e[n];isFunction$6(g)&&watch(r,g)}else if(isFunction$6(n))watch(r,n.bind(t));else if(isObject$7(n))if(isArray$4(n))n.forEach(g=>createWatcher(g,e,t,i));else{const g=isFunction$6(n.handler)?n.handler.bind(t):e[n.handler];isFunction$6(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(z=>mergeOptions$2(L,z,y,!0)),mergeOptions$2(L,e,y)),isObject$7(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$6(n)?n.call(this,this):n,isFunction$6(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$6(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 z=!1;if((i||y>0)&&!(y&16)){if(y&8){const V=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(V),n.extends&&V(n.extends),n.mixins&&n.mixins.forEach(V)}if(!g&&!L)return isObject$7(n)&&i.set(n,EMPTY_ARR),EMPTY_ARR;if(isArray$4(g))for(let V=0;Vn==="_"||n==="_ctx"||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$6(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:z,setElementText:V,parentNode:j,nextSibling:ie,setScopeId:oe=NOOP$1,insertStaticContent:re}=n,ae=(ni,fi,si,_i=null,Pt=null,Lt=null,At=void 0,ii=null,gi=!!fi.dynamicChildren)=>{if(ni===fi)return;ni&&!isSameVNodeType(ni,fi)&&(_i=ri(ni),ti(ni,Pt,Lt,!0),ni=null),fi.patchFlag===-2&&(gi=!1,fi.dynamicChildren=null);const{type:yi,ref:Li,shapeFlag:Pi}=fi;switch(yi){case Text$2:le(ni,fi,si,_i);break;case Comment:de(ni,fi,si,_i);break;case Static:ni==null&&ue(fi,si,_i,At);break;case Fragment:Fe(ni,fi,si,_i,Pt,Lt,At,ii,gi);break;default:Pi&1?_e(ni,fi,si,_i,Pt,Lt,At,ii,gi):Pi&6?Et(ni,fi,si,_i,Pt,Lt,At,ii,gi):(Pi&64||Pi&128)&&yi.process(ni,fi,si,_i,Pt,Lt,At,ii,gi,Ti)}Li!=null&&Pt?setRef(Li,ni&&ni.ref,Lt,fi||ni,!fi):Li==null&&ni&&ni.ref!=null&&setRef(ni.ref,null,Lt,ni,!0)},le=(ni,fi,si,_i)=>{if(ni==null)i(fi.el=k(fi.children),si,_i);else{const Pt=fi.el=ni.el;fi.children!==ni.children&&z(Pt,fi.children)}},de=(ni,fi,si,_i)=>{ni==null?i(fi.el=L(fi.children||""),si,_i):fi.el=ni.el},ue=(ni,fi,si,_i)=>{[ni.el,ni.anchor]=re(ni.children,fi,si,_i,ni.el,ni.anchor)},he=({el:ni,anchor:fi},si,_i)=>{let Pt;for(;ni&&ni!==fi;)Pt=ie(ni),i(ni,si,_i),ni=Pt;i(fi,si,_i)},pe=({el:ni,anchor:fi})=>{let si;for(;ni&&ni!==fi;)si=ie(ni),r(ni),ni=si;r(fi)},_e=(ni,fi,si,_i,Pt,Lt,At,ii,gi)=>{fi.type==="svg"?At="svg":fi.type==="math"&&(At="mathml"),ni==null?Ce(fi,si,_i,Pt,Lt,At,ii,gi):Ne(ni,fi,Pt,Lt,At,ii,gi)},Ce=(ni,fi,si,_i,Pt,Lt,At,ii)=>{let gi,yi;const{props:Li,shapeFlag:Pi,transition:xi,dirs:Ai}=ni;if(gi=ni.el=y(ni.type,Lt,Li&&Li.is,Li),Pi&8?V(gi,ni.children):Pi&16&&Ie(ni.children,gi,null,_i,Pt,resolveChildrenNamespace(ni,Lt),At,ii),Ai&&invokeDirectiveHook(ni,null,_i,"created"),xe(gi,ni,ni.scopeId,At,_i),Li){for(const Hi in Li)Hi!=="value"&&!isReservedProp(Hi)&&g(gi,Hi,null,Li[Hi],Lt,_i);"value"in Li&&g(gi,"value",null,Li.value,Lt),(yi=Li.onVnodeBeforeMount)&&invokeVNodeHook(yi,_i,ni)}Ai&&invokeDirectiveHook(ni,null,_i,"beforeMount");const Vi=needTransition(Pt,xi);Vi&&xi.beforeEnter(gi),i(gi,fi,si),((yi=Li&&Li.onVnodeMounted)||Vi||Ai)&&queuePostRenderEffect(()=>{yi&&invokeVNodeHook(yi,_i,ni),Vi&&xi.enter(gi),Ai&&invokeDirectiveHook(ni,null,_i,"mounted")},Pt)},xe=(ni,fi,si,_i,Pt)=>{if(si&&oe(ni,si),_i)for(let Lt=0;Lt<_i.length;Lt++)oe(ni,_i[Lt]);if(Pt){let Lt=Pt.subTree;if(fi===Lt||isSuspense(Lt.type)&&(Lt.ssContent===fi||Lt.ssFallback===fi)){const At=Pt.vnode;xe(ni,At,At.scopeId,At.slotScopeIds,Pt.parent)}}},Ie=(ni,fi,si,_i,Pt,Lt,At,ii,gi=0)=>{for(let yi=gi;yi{const ii=fi.el=ni.el;let{patchFlag:gi,dynamicChildren:yi,dirs:Li}=fi;gi|=ni.patchFlag&16;const Pi=ni.props||EMPTY_OBJ,xi=fi.props||EMPTY_OBJ;let Ai;if(si&&toggleRecurse(si,!1),(Ai=xi.onVnodeBeforeUpdate)&&invokeVNodeHook(Ai,si,fi,ni),Li&&invokeDirectiveHook(fi,ni,si,"beforeUpdate"),si&&toggleRecurse(si,!0),(Pi.innerHTML&&xi.innerHTML==null||Pi.textContent&&xi.textContent==null)&&V(ii,""),yi?$e(ni.dynamicChildren,yi,ii,si,_i,resolveChildrenNamespace(fi,Pt),Lt):At||Ue(ni,fi,ii,null,si,_i,resolveChildrenNamespace(fi,Pt),Lt,!1),gi>0){if(gi&16)Oe(ii,Pi,xi,si,Pt);else if(gi&2&&Pi.class!==xi.class&&g(ii,"class",null,xi.class,Pt),gi&4&&g(ii,"style",Pi.style,xi.style,Pt),gi&8){const Vi=fi.dynamicProps;for(let Hi=0;Hi{Ai&&invokeVNodeHook(Ai,si,fi,ni),Li&&invokeDirectiveHook(fi,ni,si,"updated")},_i)},$e=(ni,fi,si,_i,Pt,Lt,At)=>{for(let ii=0;ii{if(fi!==si){if(fi!==EMPTY_OBJ)for(const Lt in fi)!isReservedProp(Lt)&&!(Lt in si)&&g(ni,Lt,fi[Lt],null,Pt,_i);for(const Lt in si){if(isReservedProp(Lt))continue;const At=si[Lt],ii=fi[Lt];At!==ii&&Lt!=="value"&&g(ni,Lt,ii,At,Pt,_i)}"value"in si&&g(ni,"value",fi.value,si.value,Pt)}},Fe=(ni,fi,si,_i,Pt,Lt,At,ii,gi)=>{const yi=fi.el=ni?ni.el:k(""),Li=fi.anchor=ni?ni.anchor:k("");let{patchFlag:Pi,dynamicChildren:xi,slotScopeIds:Ai}=fi;Ai&&(ii=ii?ii.concat(Ai):Ai),ni==null?(i(yi,si,_i),i(Li,si,_i),Ie(fi.children||[],si,Li,Pt,Lt,At,ii,gi)):Pi>0&&Pi&64&&xi&&ni.dynamicChildren?($e(ni.dynamicChildren,xi,si,Pt,Lt,At,ii),(fi.key!=null||Pt&&fi===Pt.subTree)&&traverseStaticChildren(ni,fi,!0)):Ue(ni,fi,si,Li,Pt,Lt,At,ii,gi)},Et=(ni,fi,si,_i,Pt,Lt,At,ii,gi)=>{fi.slotScopeIds=ii,ni==null?fi.shapeFlag&512?Pt.ctx.activate(fi,si,_i,At,gi):ze(fi,si,_i,Pt,Lt,At,gi):qe(ni,fi,gi)},ze=(ni,fi,si,_i,Pt,Lt,At)=>{const ii=ni.component=createComponentInstance(ni,_i,Pt);if(isKeepAlive(ni)&&(ii.ctx.renderer=Ti),setupComponent(ii,!1,At),ii.asyncDep){if(Pt&&Pt.registerDep(ii,Ve,At),!ni.el){const gi=ii.subTree=createVNode(Comment);de(null,gi,fi,si),ni.placeholder=gi.el}}else Ve(ii,ni,fi,si,Pt,Lt,At)},qe=(ni,fi,si)=>{const _i=fi.component=ni.component;if(shouldUpdateComponent(ni,fi,si))if(_i.asyncDep&&!_i.asyncResolved){kt(_i,fi,si);return}else _i.next=fi,_i.update();else fi.el=ni.el,_i.vnode=fi},Ve=(ni,fi,si,_i,Pt,Lt,At)=>{const ii=()=>{if(ni.isMounted){let{next:Pi,bu:xi,u:Ai,parent:Vi,vnode:Hi}=ni;{const Yi=locateNonHydratedAsyncRoot(ni);if(Yi){Pi&&(Pi.el=Hi.el,kt(ni,Pi,At)),Yi.asyncDep.then(()=>{ni.isUnmounted||ii()});return}}let qi=Pi,Sn;toggleRecurse(ni,!1),Pi?(Pi.el=Hi.el,kt(ni,Pi,At)):Pi=Hi,xi&&invokeArrayFns(xi),(Sn=Pi.props&&Pi.props.onVnodeBeforeUpdate)&&invokeVNodeHook(Sn,Vi,Pi,Hi),toggleRecurse(ni,!0);const wn=renderComponentRoot(ni),zi=ni.subTree;ni.subTree=wn,ae(zi,wn,j(zi.el),ri(zi),ni,Pt,Lt),Pi.el=wn.el,qi===null&&updateHOCHostEl(ni,wn.el),Ai&&queuePostRenderEffect(Ai,Pt),(Sn=Pi.props&&Pi.props.onVnodeUpdated)&&queuePostRenderEffect(()=>invokeVNodeHook(Sn,Vi,Pi,Hi),Pt)}else{let Pi;const{el:xi,props:Ai}=fi,{bm:Vi,m:Hi,parent:qi,root:Sn,type:wn}=ni,zi=isAsyncWrapper(fi);toggleRecurse(ni,!1),Vi&&invokeArrayFns(Vi),!zi&&(Pi=Ai&&Ai.onVnodeBeforeMount)&&invokeVNodeHook(Pi,qi,fi),toggleRecurse(ni,!0);{Sn.ce&&Sn.ce._def.shadowRoot!==!1&&Sn.ce._injectChildStyle(wn);const Yi=ni.subTree=renderComponentRoot(ni);ae(null,Yi,si,_i,ni,Pt,Lt),fi.el=Yi.el}if(Hi&&queuePostRenderEffect(Hi,Pt),!zi&&(Pi=Ai&&Ai.onVnodeMounted)){const Yi=fi;queuePostRenderEffect(()=>invokeVNodeHook(Pi,qi,Yi),Pt)}(fi.shapeFlag&256||qi&&isAsyncWrapper(qi.vnode)&&qi.vnode.shapeFlag&256)&&ni.a&&queuePostRenderEffect(ni.a,Pt),ni.isMounted=!0,fi=si=_i=null}};ni.scope.on();const gi=ni.effect=new ReactiveEffect(ii);ni.scope.off();const yi=ni.update=gi.run.bind(gi),Li=ni.job=gi.runIfDirty.bind(gi);Li.i=ni,Li.id=ni.uid,gi.scheduler=()=>queueJob(Li),toggleRecurse(ni,!0),yi()},kt=(ni,fi,si)=>{fi.component=ni;const _i=ni.vnode.props;ni.vnode=fi,ni.next=null,updateProps(ni,fi.props,_i,si),updateSlots(ni,fi.children,si),pauseTracking(),flushPreFlushCbs(ni),resetTracking()},Ue=(ni,fi,si,_i,Pt,Lt,At,ii,gi=!1)=>{const yi=ni&&ni.children,Li=ni?ni.shapeFlag:0,Pi=fi.children,{patchFlag:xi,shapeFlag:Ai}=fi;if(xi>0){if(xi&128){jt(yi,Pi,si,_i,Pt,Lt,At,ii,gi);return}else if(xi&256){Dt(yi,Pi,si,_i,Pt,Lt,At,ii,gi);return}}Ai&8?(Li&16&&pi(yi,Pt,Lt),Pi!==yi&&V(si,Pi)):Li&16?Ai&16?jt(yi,Pi,si,_i,Pt,Lt,At,ii,gi):pi(yi,Pt,Lt,!0):(Li&8&&V(si,""),Ai&16&&Ie(Pi,si,_i,Pt,Lt,At,ii,gi))},Dt=(ni,fi,si,_i,Pt,Lt,At,ii,gi)=>{ni=ni||EMPTY_ARR,fi=fi||EMPTY_ARR;const yi=ni.length,Li=fi.length,Pi=Math.min(yi,Li);let xi;for(xi=0;xiLi?pi(ni,Pt,Lt,!0,!1,Pi):Ie(fi,si,_i,Pt,Lt,At,ii,gi,Pi)},jt=(ni,fi,si,_i,Pt,Lt,At,ii,gi)=>{let yi=0;const Li=fi.length;let Pi=ni.length-1,xi=Li-1;for(;yi<=Pi&&yi<=xi;){const Ai=ni[yi],Vi=fi[yi]=gi?cloneIfMounted(fi[yi]):normalizeVNode(fi[yi]);if(isSameVNodeType(Ai,Vi))ae(Ai,Vi,si,null,Pt,Lt,At,ii,gi);else break;yi++}for(;yi<=Pi&&yi<=xi;){const Ai=ni[Pi],Vi=fi[xi]=gi?cloneIfMounted(fi[xi]):normalizeVNode(fi[xi]);if(isSameVNodeType(Ai,Vi))ae(Ai,Vi,si,null,Pt,Lt,At,ii,gi);else break;Pi--,xi--}if(yi>Pi){if(yi<=xi){const Ai=xi+1,Vi=Aixi)for(;yi<=Pi;)ti(ni[yi],Pt,Lt,!0),yi++;else{const Ai=yi,Vi=yi,Hi=new Map;for(yi=Vi;yi<=xi;yi++){const Bi=fi[yi]=gi?cloneIfMounted(fi[yi]):normalizeVNode(fi[yi]);Bi.key!=null&&Hi.set(Bi.key,yi)}let qi,Sn=0;const wn=xi-Vi+1;let zi=!1,Yi=0;const Xi=new Array(wn);for(yi=0;yi=wn){ti(Bi,Pt,Lt,!0);continue}let di;if(Bi.key!=null)di=Hi.get(Bi.key);else for(qi=Vi;qi<=xi;qi++)if(Xi[qi-Vi]===0&&isSameVNodeType(Bi,fi[qi])){di=qi;break}di===void 0?ti(Bi,Pt,Lt,!0):(Xi[di-Vi]=yi+1,di>=Yi?Yi=di:zi=!0,ae(Bi,fi[di],si,null,Pt,Lt,At,ii,gi),Sn++)}const Ei=zi?getSequence(Xi):EMPTY_ARR;for(qi=Ei.length-1,yi=wn-1;yi>=0;yi--){const Bi=Vi+yi,di=fi[Bi],Ni=fi[Bi+1],Mi=Bi+1{const{el:Lt,type:At,transition:ii,children:gi,shapeFlag:yi}=ni;if(yi&6){ei(ni.component.subTree,fi,si,_i);return}if(yi&128){ni.suspense.move(fi,si,_i);return}if(yi&64){At.move(ni,fi,si,Ti);return}if(At===Fragment){i(Lt,fi,si);for(let Pi=0;Piii.enter(Lt),Pt);else{const{leave:Pi,delayLeave:xi,afterLeave:Ai}=ii,Vi=()=>{ni.ctx.isUnmounted?r(Lt):i(Lt,fi,si)},Hi=()=>{Lt._isLeaving&&Lt[leaveCbKey](!0),Pi(Lt,()=>{Vi(),Ai&&Ai()})};xi?xi(Lt,Vi,Hi):Hi()}else i(Lt,fi,si)},ti=(ni,fi,si,_i=!1,Pt=!1)=>{const{type:Lt,props:At,ref:ii,children:gi,dynamicChildren:yi,shapeFlag:Li,patchFlag:Pi,dirs:xi,cacheIndex:Ai}=ni;if(Pi===-2&&(Pt=!1),ii!=null&&(pauseTracking(),setRef(ii,null,si,ni,!0),resetTracking()),Ai!=null&&(fi.renderCache[Ai]=void 0),Li&256){fi.ctx.deactivate(ni);return}const Vi=Li&1&&xi,Hi=!isAsyncWrapper(ni);let qi;if(Hi&&(qi=At&&At.onVnodeBeforeUnmount)&&invokeVNodeHook(qi,fi,ni),Li&6)mi(ni.component,si,_i);else{if(Li&128){ni.suspense.unmount(si,_i);return}Vi&&invokeDirectiveHook(ni,null,fi,"beforeUnmount"),Li&64?ni.type.remove(ni,fi,si,Ti,_i):yi&&!yi.hasOnce&&(Lt!==Fragment||Pi>0&&Pi&64)?pi(yi,fi,si,!1,!0):(Lt===Fragment&&Pi&384||!Pt&&Li&16)&&pi(gi,fi,si),_i&&hi(ni)}(Hi&&(qi=At&&At.onVnodeUnmounted)||Vi)&&queuePostRenderEffect(()=>{qi&&invokeVNodeHook(qi,fi,ni),Vi&&invokeDirectiveHook(ni,null,fi,"unmounted")},si)},hi=ni=>{const{type:fi,el:si,anchor:_i,transition:Pt}=ni;if(fi===Fragment){ui(si,_i);return}if(fi===Static){pe(ni);return}const Lt=()=>{r(si),Pt&&!Pt.persisted&&Pt.afterLeave&&Pt.afterLeave()};if(ni.shapeFlag&1&&Pt&&!Pt.persisted){const{leave:At,delayLeave:ii}=Pt,gi=()=>At(si,Lt);ii?ii(ni.el,Lt,gi):gi()}else Lt()},ui=(ni,fi)=>{let si;for(;ni!==fi;)si=ie(ni),r(ni),ni=si;r(fi)},mi=(ni,fi,si)=>{const{bum:_i,scope:Pt,job:Lt,subTree:At,um:ii,m:gi,a:yi}=ni;invalidateMount(gi),invalidateMount(yi),_i&&invokeArrayFns(_i),Pt.stop(),Lt&&(Lt.flags|=8,ti(At,ni,fi,si)),ii&&queuePostRenderEffect(ii,fi),queuePostRenderEffect(()=>{ni.isUnmounted=!0},fi)},pi=(ni,fi,si,_i=!1,Pt=!1,Lt=0)=>{for(let At=Lt;At{if(ni.shapeFlag&6)return ri(ni.component.subTree);if(ni.shapeFlag&128)return ni.suspense.next();const fi=ie(ni.anchor||ni.el),si=fi&&fi[TeleportEndKey];return si?ie(si):fi};let oi=!1;const bi=(ni,fi,si)=>{ni==null?fi._vnode&&ti(fi._vnode,null,null,!0):ae(fi._vnode||null,ni,fi,null,null,null,si),fi._vnode=ni,oi||(oi=!0,flushPreFlushCbs(),flushPostFlushCbs(),oi=!1)},Ti={p:ae,um:ti,m:ei,r:hi,mt:ze,mc:Ie,pc:Ue,pbc:$e,n:ri,o:n};return{render:bi,hydrate:void 0,createApp:createAppAPI(bi)}}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 z;if(isInSSRComponentSetup){if(g==="sync"){const oe=useSSRContext();z=oe.__watcherHandles||(oe.__watcherHandles=[])}else if(!L){const oe=()=>{};return oe.stop=NOOP$1,oe.resume=NOOP$1,oe.pause=NOOP$1,oe}}const V=currentInstance;k.call=(oe,re,ae)=>callWithAsyncErrorHandling(oe,V,re,ae);let j=!1;g==="post"?k.scheduler=oe=>{queuePostRenderEffect(oe,V&&V.suspense)}:g!=="sync"&&(j=!0,k.scheduler=(oe,re)=>{re?oe():queueJob(oe)}),k.augmentJob=oe=>{e&&(oe.flags|=4),j&&(oe.flags|=2,V&&(oe.id=V.uid,oe.i=V))};const ie=watch$1(n,e,k);return isInSSRComponentSetup&&(z?z.push(ie):L&&ie()),ie}function instanceWatch(n,e,t){const i=this.proxy,r=isString$5(n)?n.includes(".")?createPathGetter(i,n):()=>i[n]:n.bind(i,i);let g;isFunction$6(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 V,j=EMPTY_OBJ,ie;return watchSyncEffect(()=>{const oe=n[r];hasChanged(V,oe)&&(V=oe,z())}),{get(){return L(),t.get?t.get(V):V},set(oe){const re=t.set?t.set(oe):oe;if(!hasChanged(re,V)&&!(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)||(V=oe,z()),i.emit("update:".concat(e),re),hasChanged(oe,re)&&hasChanged(oe,j)&&!hasChanged(re,ie)&&z(),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(V=>isString$5(V)?V.trim():V)),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 z=i[k+"Once"];if(z){if(!n.emitted)n.emitted={};else if(n.emitted[k])return;n.emitted[k]=!0,callWithAsyncErrorHandling(z,n,6,r)}}const mixinEmitsCache=new WeakMap;function normalizeEmitsOptions(n,e,t=!1){const i=t?mixinEmitsCache:e.emitsCache,r=i.get(n);if(r!==void 0)return r;const g=n.emits;let y={},k=!1;if(!isFunction$6(n)){const L=z=>{const V=normalizeEmitsOptions(z,e,!0);V&&(k=!0,extend$1(y,V))};!t&&e.mixins.length&&e.mixins.forEach(L),n.extends&&L(n.extends),n.mixins&&n.mixins.forEach(L)}return!g&&!k?(isObject$7(n)&&i.set(n,null),null):(isArray$4(g)?g.forEach(L=>y[L]=null):extend$1(y,g),isObject$7(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:z,renderCache:V,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,_e=pe;de=normalizeVNode(z.call(_e,pe,V,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:_e}=he;pe.length&&_e&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,z=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,z):!!y;if(L&8){const V=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$5(n)||isRef(n)||isFunction$6(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$5(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$5(k)&&(e.class=normalizeClass(k)),isObject$7(L)&&(isProxy(L)&&!isArray$4(L)&&(L=extend$1({},L)),e.style=normalizeStyle(L))}const y=isString$5(n)?1:isSuspense(n)?128:isTeleport(n)?64:isObject$7(n)?4:isFunction$6(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,z=e?mergeProps(r||{},e):r,V={__v_isVNode:!0,__v_skip:!0,type:n.type,props:z,key:z&&normalizeKey(z),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),placeholder:n.placeholder,el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce};return L&&i&&setTransitionHooks(V,L.clone(V)),V}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$6(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$6(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:isObject$7(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$6(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$6(n)&&"__vccOpts"in n}const computed$1=(n,e)=>computed$2(n,e,isInSSRComponentSetup);function h$2(n,e,t){const i=(g,y,k)=>{setBlockTracking(-1);try{return createVNode(g,y,k)}finally{setBlockTracking(1)}},r=arguments.length;return r===2?isObject$7(e)&&!isArray$4(e)?isVNode(e)?i(n,null,[e]):i(n,e):i(n,null,e):(r>3?t=Array.prototype.slice.call(arguments,2):r===3&&isVNode(t)&&(t=[t]),i(n,e,t))}const version$1="3.5.21",warn=NOOP$1;/** * @vue/runtime-dom v3.5.21 * (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$2(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 Fe in n)Fe in DOMTransitionPropsValidators||(e[Fe]=n[Fe]);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:z=y,appearToClass:V=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:_e,onBeforeAppear:Ce=de,onAppear:xe=ue,onAppearCancelled:Ie=he}=e,Ne=(Fe,Et,ze,qe)=>{Fe._enterCancelled=qe,removeTransitionClass(Fe,Et?V:k),removeTransitionClass(Fe,Et?z:y),ze&&ze()},$e=(Fe,Et)=>{Fe._isLeaving=!1,removeTransitionClass(Fe,j),removeTransitionClass(Fe,oe),removeTransitionClass(Fe,ie),Et&&Et()},Oe=Fe=>(Et,ze)=>{const qe=Fe?xe:ue,Ve=()=>Ne(Et,Fe,ze);callHook(qe,[Et,Ve]),nextFrame(()=>{removeTransitionClass(Et,Fe?L:g),addTransitionClass(Et,Fe?V:k),hasExplicitCallback(qe)||whenTransitionEnds(Et,i,ae,Ve)})};return extend$1(e,{onBeforeEnter(Fe){callHook(de,[Fe]),addTransitionClass(Fe,g),addTransitionClass(Fe,y)},onBeforeAppear(Fe){callHook(Ce,[Fe]),addTransitionClass(Fe,L),addTransitionClass(Fe,z)},onEnter:Oe(!1),onAppear:Oe(!0),onLeave(Fe,Et){Fe._isLeaving=!0;const ze=()=>$e(Fe,Et);addTransitionClass(Fe,j),Fe._enterCancelled?(addTransitionClass(Fe,ie),forceReflow()):(forceReflow(),addTransitionClass(Fe,ie)),nextFrame(()=>{Fe._isLeaving&&(removeTransitionClass(Fe,j),addTransitionClass(Fe,oe),hasExplicitCallback(pe)||whenTransitionEnds(Fe,i,le,ze))}),callHook(pe,[Fe,ze])},onEnterCancelled(Fe){Ne(Fe,!1,void 0,!0),callHook(he,[Fe])},onAppearCancelled(Fe){Ne(Fe,!0,void 0,!0),callHook(Ie,[Fe])},onLeaveCancelled(Fe){$e(Fe),callHook(_e,[Fe])}})}function normalizeDuration(n){if(n==null)return null;if(isObject$7(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 z=y+"end";let V=0;const j=()=>{n.removeEventListener(z,ie),g()},ie=oe=>{oe.target===n&&++V>=L&&j()};setTimeout(()=>{V(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")),z=getTimeout(k,L);let V=null,j=0,ie=0;e===TRANSITION?y>0&&(V=TRANSITION,j=y,ie=g.length):e===ANIMATION$1?z>0&&(V=ANIMATION$1,j=z,ie=L.length):(j=Math.max(y,z),V=j>0?y>z?TRANSITION:ANIMATION$1:null,ie=V?V===TRANSITION?g.length:L.length:0);const oe=V===TRANSITION&&/\b(?:transform|all)(?:,|$)/.test(i("".concat(TRANSITION,"Property")).toString());return{type:V,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={name:"show",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$5(t);let g=!1;if(t&&!r){if(e)if(isString$5(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$5(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$6(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$5(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 z=L.el,V=z.style;addTransitionClass(z,y),V.transform=V.webkitTransform=V.transitionDuration="";const j=z[moveCbKey]=ie=>{ie&&ie.target!==z||(!ie||ie.propertyName.endsWith("transform"))&&(z.removeEventListener("transitionend",j),z[moveCbKey]=null,removeTransitionClass(z,y))};z.addEventListener("transitionend",j)}),r=[]}),()=>{const y=toRaw(n),k=resolveTransitionProps(y);let L=y.tag||Fragment;if(r=[],g)for(let z=0;z{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 z=[...i];z.splice(k,1),y(z)}}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$6(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$5(n)?document.querySelector(n):n}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$2(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$2(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}}const ds=class ds{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new ds(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new ds(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}};ds.empty=new ds(e=>{});let CallbackIterable=ds;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$4(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$5(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$1(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$6(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$6(n)?(isObject$6(e)&&Object.keys(e).forEach(i=>{i in n?t&&(isObject$6(n[i])&&isObject$6(e[i])?mixin(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function equals$1(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=getNLSLanguage()==="pseudo"||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(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(n,e,...t){let i;typeof n=="number"?i=lookupMessage(n,e):i=e;const r=_format$1(i,t);return{value:r,original:e===i?r:_format$1(e,t)}}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;var uc;typeof $globalThis.vscode<"u"&&typeof $globalThis.vscode.process<"u"?nodeProcess=$globalThis.vscode.process:typeof process<"u"&&typeof((uc=process==null?void 0:process.versions)==null?void 0:uc.node)=="string"&&(nodeProcess=process);var hc;const isElectronProcess=typeof((hc=nodeProcess==null?void 0:nodeProcess.versions)==null?void 0:hc.electron)=="string",isElectronRenderer=isElectronProcess&&(nodeProcess==null?void 0:nodeProcess.type)==="renderer";var fc;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);_locale=e.userLocale,_platformLocale=e.osLocale,_language=e.resolvedLanguage||LANGUAGE_DEFAULT,_translationsConfigFile=(fc=e.languagePack)==null?void 0:fc.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,_language=getNLSLanguage()||LANGUAGE_DEFAULT,_locale=navigator.language.toLowerCase(),_platformLocale=_locale):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$2=_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$2&&userAgent$2.indexOf("Chrome")>=0),isFirefox$2=!!(userAgent$2&&userAgent$2.indexOf("Firefox")>=0),isSafari$1=!!(!isChrome$1&&userAgent$2&&userAgent$2.indexOf("Safari")>=0),isEdge=!!(userAgent$2&&userAgent$2.indexOf("Edg/")>=0),isAndroid$1=!!(userAgent$2&&userAgent$2.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(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 _e=pe.length-1;_e>=0;_e--)yield pe[_e]}n.reverse=k;function L(pe){return!pe||pe[Symbol.iterator]().next().done===!0}n.isEmpty=L;function z(pe){return pe[Symbol.iterator]().next().value}n.first=z;function V(pe,_e){let Ce=0;for(const xe of pe)if(_e(xe,Ce++))return!0;return!1}n.some=V;function j(pe,_e){for(const Ce of pe)if(_e(Ce))return Ce}n.find=j;function*ie(pe,_e){for(const Ce of pe)_e(Ce)&&(yield Ce)}n.filter=ie;function*oe(pe,_e){let Ce=0;for(const xe of pe)yield _e(xe,Ce++)}n.map=oe;function*re(pe,_e){let Ce=0;for(const xe of pe)yield*_e(xe,Ce++)}n.flatMap=re;function*ae(...pe){for(const _e of pe)yield*_e}n.concat=ae;function le(pe,_e,Ce){let xe=Ce;for(const Ie of pe)xe=_e(xe,Ie);return xe}n.reduce=le;function*de(pe,_e,Ce=pe.length){for(_e<0&&(_e+=pe.length),Ce<0?Ce+=pe.length:Ce>pe.length&&(Ce=pe.length);_e{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 z=n-r.maxLen/2;return z<0?z=0:i+=z,t=t.substring(z,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 z=1;!(Date.now()-g>=r.timeBudget);z++){const V=y-r.windowSize*z;e.lastIndex=Math.max(0,V);const j=_findRegexMatchEnclosingPosition(e,t,y,k);if(!j&&L||(L=j,V<=0))break;k=V}if(L){const z={word:L[0],startColumn:i+1+L.index,endColumn:i+1+L.index+L[0].length};return e.lastIndex=0,z}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$2(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(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(" ")}}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)}}}const So=class So extends BaseEditorOption{constructor(){super(51,"fontLigatures",So.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?So.OFF:e==="true"?So.ON:e:e?So.ON:So.OFF}};So.OFF='"liga" off, "calt" off',So.ON='"liga" on, "calt" on';let EditorFontLigatures=So;const wo=class wo extends BaseEditorOption{constructor(){super(54,"fontVariations",wo.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"?wo.OFF:e==="true"?wo.TRANSLATE:e:e?wo.TRANSLATE:wo.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}};wo.OFF="normal",wo.TRANSLATE="translate";let EditorFontVariations=wo;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}}const co=class co extends BaseEditorOption{constructor(){super(53,"fontWeight",EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:co.MINIMUM_VALUE,maximum:co.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:co.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,co.MINIMUM_VALUE,co.MAXIMUM_VALUE))}};co.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],co.MINIMUM_VALUE=1,co.MAXIMUM_VALUE=1e3;let EditorFontWeight=co;class EditorGoToLocation extends BaseEditorOption{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("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 i,r,g,y,k,L;if(!e||typeof e!="object")return this.defaultValue;const t=e;return{multiple:stringSet(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(i=t.multipleDefinitions)!=null?i:stringSet(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(r=t.multipleTypeDefinitions)!=null?r:stringSet(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(g=t.multipleDeclarations)!=null?g:stringSet(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(y=t.multipleImplementations)!=null?y:stringSet(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(k=t.multipleReferences)!=null?k:stringSet(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:(L=t.multipleTests)!=null?L:stringSet(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:EditorStringOption.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:EditorStringOption.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:EditorStringOption.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:EditorStringOption.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:EditorStringOption.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:EditorStringOption.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}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(146)}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,z=e.typicalHalfwidthCharacterWidth,V=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 _e=Math.floor(g*r);const Ce=_e/g;let xe=!1,Ie=!1,Ne=pe*ie,$e=ie/g,Oe=1;if(re==="fill"||re==="fit"){const{typicalViewportLineCount:Ue,extraLinesBeforeFirstLine:Dt,extraLinesBeyondLastLine:jt,desiredRatio:ei,minimapLineCount:ti}=EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:de,scrollBeyondLastLine:V,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:r,lineHeight:L,pixelRatio:g});if(de/ti>1)xe=!0,Ie=!0,ie=1,Ne=1,$e=ie/g;else{let ui=!1,mi=ie+1;if(re==="fit"){const pi=Math.ceil((Dt+de+jt)*Ne);he&&k&&ue<=t.stableFitRemainingWidth?(ui=!0,mi=t.stableFitMaxMinimapScale):ui=pi>_e}if(re==="fill"||ui){xe=!0;const pi=ie;Ne=Math.min(L*g,Math.max(1,Math.floor(1/ei))),he&&k&&ue<=t.stableFitRemainingWidth&&(mi=t.stableFitMaxMinimapScale),ie=Math.min(mi,Math.max(1,Math.floor(Ne/pe))),ie>pi&&(Oe=Math.min(2,ie/pi)),$e=ie/g/Oe,_e=Math.ceil(Math.max(Ue,Dt+de+jt)*Ne),he?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=ue,t.stableFitMaxMinimapScale=ie):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const Fe=Math.floor(oe*$e),Et=Math.min(Fe,Math.max(0,Math.floor((ue-le-2)*$e/(z+$e)))+MINIMAP_GUTTER_WIDTH);let ze=Math.floor(g*Et);const qe=ze/g;ze=Math.floor(ze*Oe);const Ve=j?1:2,kt=ae==="left"?0:i-Et-le;return{renderMinimap:Ve,minimapLeft:kt,minimapWidth:Et,minimapHeightIsEditorHeight:xe,minimapIsSampling:Ie,minimapScale:ie,minimapLineHeight:Ne,minimapCanvasInnerWidth:ze,minimapCanvasInnerHeight:_e,minimapCanvasOuterWidth:qe,minimapCanvasOuterHeight:Ce}}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,z=t.pixelRatio,V=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),_e=e.get(73),Ce=e.get(104),xe=Ce.verticalScrollbarSize,Ie=Ce.verticalHasArrows,Ne=Ce.arrowSize,$e=Ce.horizontalScrollbarSize,Oe=e.get(43),Fe=e.get(111)!=="never";let Et=e.get(66);Oe&&Fe&&(Et+=16);let ze=0;if(de){const oi=Math.max(y,ue);ze=Math.round(oi*L)}let qe=0;le&&(qe=g*t.glyphMarginDecorationLaneCount);let Ve=0,kt=Ve+qe,Ue=kt+ze,Dt=Ue+Et;const jt=i-qe-ze-Et;let ei=!1,ti=!1,hi=-1;ie==="inherit"&&ae?(ei=!0,ti=!0):oe==="on"||oe==="bounded"?ti=!0:oe==="wordWrapColumn"&&(hi=re);const ui=EditorLayoutInfoComputer._computeMinimapLayout({outerWidth:i,outerHeight:r,lineHeight:g,typicalHalfwidthCharacterWidth:k,pixelRatio:z,scrollBeyondLastLine:he,paddingTop:pe.top,paddingBottom:pe.bottom,minimap:_e,verticalScrollbarWidth:xe,viewLineCount:V,remainingWidth:jt,isViewportWrapping:ti},t.memory||new ComputeOptionsMemory);ui.renderMinimap!==0&&ui.minimapLeft===0&&(Ve+=ui.minimapWidth,kt+=ui.minimapWidth,Ue+=ui.minimapWidth,Dt+=ui.minimapWidth);const mi=jt-ui.minimapWidth,pi=Math.max(1,Math.floor((mi-xe-2)/k)),ri=Ie?Ne:0;return ti&&(hi=Math.max(1,pi),oe==="bounded"&&(hi=Math.min(hi,re))),{width:i,height:r,glyphMarginLeft:Ve,glyphMarginWidth:qe,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:kt,lineNumbersWidth:ze,decorationsLeft:Ue,decorationsWidth:Et,contentLeft:Dt,contentWidth:mi,minimap:ui,viewportColumn:pi,isWordWrapMinified:ei,isViewportWrapping:ti,wrappingColumn:hi,verticalScrollbarWidth:xe,horizontalScrollbarHeight:$e,overviewRuler:{top:ri,width:xe,height:r-2*ri,right:0}}}}class WrappingStrategy extends BaseEditorOption{constructor(){super(140,"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.OnCode};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(116,"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(142,"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,sectionHeaderLetterSpacing:1};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.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:localize("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(t.enabled,this.defaultValue.enabled),autohide:boolean(t.autohide,this.defaultValue.autohide),size:stringSet(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:stringSet(t.side,this.defaultValue.side,["right","left"]),showSlider:stringSet(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:boolean(t.renderCharacters,this.defaultValue.renderCharacters),scale:EditorIntOption.clampedInt(t.scale,1,1,3),maxColumn:EditorIntOption.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:boolean(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:boolean(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:EditorFloatOption.clamp((i=t.sectionHeaderFontSize)!=null?i:this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:EditorFloatOption.clamp((r=t.sectionHeaderLetterSpacing)!=null?r:this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}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(144)}compute(e,t,i){return e.pixelRatio}}class PlaceholderOption extends BaseEditorOption{constructor(){super(88,"placeholder",void 0)}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e:this.defaultValue}}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(90,"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 z=e?"on":"off";return{comments:z,strings:z,other:z}}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(99);return e==="editable"?n.get(92):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(103,"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(93,"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(104,"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(126,"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$1(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(equals$1(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};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.")}})}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)}}}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(119,"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 ({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("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(114,"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(131,"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(139,"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(147)}compute(e,t,i){const r=t.get(146);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(117,"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(149,"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({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$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.")})),placeholder:register$2(new PlaceholderOption),definitionLinkOpensInPeek:register$2(new EditorBooleanOption(89,"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(91,"quickSuggestionsDelay",10,0,1073741824,{description:localize("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:register$2(new EditorBooleanOption(92,"readOnly",!1)),readOnlyMessage:register$2(new ReadonlyMessage),renameOnType:register$2(new EditorBooleanOption(94,"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(95,"renderControlCharacters",!0,{description:localize("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:register$2(new EditorStringEnumOption(96,"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(97,"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(98,"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(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:register$2(new EditorStringEnumOption(100,"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(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:register$2(new EditorBooleanOption(102,"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(105,"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(106,"scrollBeyondLastLine",!0,{description:localize("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:register$2(new EditorBooleanOption(107,"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(108,"selectionClipboard",!0,{description:localize("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:isLinux})),selectionHighlight:register$2(new EditorBooleanOption(109,"selectionHighlight",!0,{description:localize("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:register$2(new EditorBooleanOption(110,"selectOnLineNumbers",!0)),showFoldingControls:register$2(new EditorStringEnumOption(111,"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(112,"showUnused",!0,{description:localize("showUnused","Controls fading out of unused code.")})),showDeprecated:register$2(new EditorBooleanOption(141,"showDeprecated",!0,{description:localize("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:register$2(new EditorInlayHints),snippetSuggestions:register$2(new EditorStringEnumOption(113,"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(115,"smoothScrolling",!1,{description:localize("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:register$2(new EditorIntOption(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:register$2(new EditorSuggest),inlineSuggest:register$2(new InlineEditorSuggest),inlineEdit:register$2(new InlineEditorEdit),inlineCompletionsAccessibilityVerbose:register$2(new EditorBooleanOption(150,"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(120,"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(121,"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(122,"suggestOnTriggerCharacters",!0,{description:localize("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:register$2(new EditorStringEnumOption(123,"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(124,"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(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:register$2(new UnicodeHighlight),unusualLineTerminators:register$2(new EditorStringEnumOption(127,"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(128,"useShadowDOM",!0)),useTabStops:register$2(new EditorBooleanOption(129,"useTabStops",!0,{description:localize("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:register$2(new EditorStringEnumOption(130,"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(132,"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(133,"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({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),localize({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({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$2(new EditorStringOption(134,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:register$2(new EditorStringOption(135,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:register$2(new EditorIntOption(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:localize({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$2(new EditorStringEnumOption(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:register$2(new EditorStringEnumOption(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:register$2(new EditorClassName),defaultColorDecorators:register$2(new EditorBooleanOption(148,"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(145,"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=="object"&&n!==null&&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()})}}const fa=class fa{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?fa.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)}};fa.DISABLE_DISPOSED_WARNING=!1;let DisposableStore=fa;const Jl=class Jl{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)}};Jl.None=Object.freeze({dispose(){}});let Disposable=Jl;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.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}}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.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=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(Et,ze){return ie(Et,()=>{},0,void 0,!0,void 0,ze)}n.defer=e;function t(Et){return(ze,qe=null,Ve)=>{let kt=!1,Ue;return Ue=Et(Dt=>{if(!kt)return Ue?Ue.dispose():kt=!0,ze.call(qe,Dt)},null,Ve),kt&&Ue.dispose(),Ue}}n.once=t;function i(Et,ze){return n.once(n.filter(Et,ze))}n.onceIf=i;function r(Et,ze,qe){return V((Ve,kt=null,Ue)=>Et(Dt=>Ve.call(kt,ze(Dt)),null,Ue),qe)}n.map=r;function g(Et,ze,qe){return V((Ve,kt=null,Ue)=>Et(Dt=>{ze(Dt),Ve.call(kt,Dt)},null,Ue),qe)}n.forEach=g;function y(Et,ze,qe){return V((Ve,kt=null,Ue)=>Et(Dt=>ze(Dt)&&Ve.call(kt,Dt),null,Ue),qe)}n.filter=y;function k(Et){return Et}n.signal=k;function L(...Et){return(ze,qe=null,Ve)=>{const kt=combinedDisposable(...Et.map(Ue=>Ue(Dt=>ze.call(qe,Dt))));return j(kt,Ve)}}n.any=L;function z(Et,ze,qe,Ve){let kt=qe;return r(Et,Ue=>(kt=ze(kt,Ue),kt),Ve)}n.reduce=z;function V(Et,ze){let qe;const Ve={onWillAddFirstListener(){qe=Et(kt.fire,kt)},onDidRemoveLastListener(){qe==null||qe.dispose()}},kt=new Emitter$1(Ve);return ze==null||ze.add(kt),kt.event}function j(Et,ze){return ze instanceof Array?ze.push(Et):ze&&ze.add(Et),Et}function ie(Et,ze,qe=100,Ve=!1,kt=!1,Ue,Dt){let jt,ei,ti,hi=0,ui;const mi={leakWarningThreshold:Ue,onWillAddFirstListener(){jt=Et(ri=>{hi++,ei=ze(ei,ri),Ve&&!ti&&(pi.fire(ei),ei=void 0),ui=()=>{const oi=ei;ei=void 0,ti=void 0,(!Ve||hi>1)&&pi.fire(oi),hi=0},typeof qe=="number"?(clearTimeout(ti),ti=setTimeout(ui,qe)):ti===void 0&&(ti=0,queueMicrotask(ui))})},onWillRemoveListener(){kt&&hi>0&&(ui==null||ui())},onDidRemoveLastListener(){ui=void 0,jt.dispose()}},pi=new Emitter$1(mi);return Dt==null||Dt.add(pi),pi.event}n.debounce=ie;function oe(Et,ze=0,qe){return n.debounce(Et,(Ve,kt)=>Ve?(Ve.push(kt),Ve):[kt],ze,void 0,!0,void 0,qe)}n.accumulate=oe;function re(Et,ze=(Ve,kt)=>Ve===kt,qe){let Ve=!0,kt;return y(Et,Ue=>{const Dt=Ve||!ze(Ue,kt);return Ve=!1,kt=Ue,Dt},qe)}n.latch=re;function ae(Et,ze,qe){return[n.filter(Et,ze,qe),n.filter(Et,Ve=>!ze(Ve),qe)]}n.split=ae;function le(Et,ze=!1,qe=[],Ve){let kt=qe.slice(),Ue=Et(ei=>{kt?kt.push(ei):jt.fire(ei)});Ve&&Ve.add(Ue);const Dt=()=>{kt==null||kt.forEach(ei=>jt.fire(ei)),kt=null},jt=new Emitter$1({onWillAddFirstListener(){Ue||(Ue=Et(ei=>jt.fire(ei)),Ve&&Ve.add(Ue))},onDidAddFirstListener(){kt&&(ze?setTimeout(Dt):Dt())},onDidRemoveLastListener(){Ue&&Ue.dispose(),Ue=null}});return Ve&&Ve.add(jt),jt.event}n.buffer=le;function de(Et,ze){return(Ve,kt,Ue)=>{const Dt=ze(new he);return Et(function(jt){const ei=Dt.evaluate(jt);ei!==ue&&Ve.call(kt,ei)},void 0,Ue)}}n.chain=de;const ue=Symbol("HaltChainable");class he{constructor(){this.steps=[]}map(ze){return this.steps.push(ze),this}forEach(ze){return this.steps.push(qe=>(ze(qe),qe)),this}filter(ze){return this.steps.push(qe=>ze(qe)?qe:ue),this}reduce(ze,qe){let Ve=qe;return this.steps.push(kt=>(Ve=ze(Ve,kt),Ve)),this}latch(ze=(qe,Ve)=>qe===Ve){let qe=!0,Ve;return this.steps.push(kt=>{const Ue=qe||!ze(kt,Ve);return qe=!1,Ve=kt,Ue?kt:ue}),this}evaluate(ze){for(const qe of this.steps)if(ze=qe(ze),ze===ue)break;return ze}}function pe(Et,ze,qe=Ve=>Ve){const Ve=(...jt)=>Dt.fire(qe(...jt)),kt=()=>Et.on(ze,Ve),Ue=()=>Et.removeListener(ze,Ve),Dt=new Emitter$1({onWillAddFirstListener:kt,onDidRemoveLastListener:Ue});return Dt.event}n.fromNodeEventEmitter=pe;function _e(Et,ze,qe=Ve=>Ve){const Ve=(...jt)=>Dt.fire(qe(...jt)),kt=()=>Et.addEventListener(ze,Ve),Ue=()=>Et.removeEventListener(ze,Ve),Dt=new Emitter$1({onWillAddFirstListener:kt,onDidRemoveLastListener:Ue});return Dt.event}n.fromDOMEventEmitter=_e;function Ce(Et){return new Promise(ze=>t(Et)(ze))}n.toPromise=Ce;function xe(Et){const ze=new Emitter$1;return Et.then(qe=>{ze.fire(qe)},()=>{ze.fire(void 0)}).finally(()=>{ze.dispose()}),ze.event}n.fromPromise=xe;function Ie(Et,ze){return Et(qe=>ze.fire(qe))}n.forward=Ie;function Ne(Et,ze,qe){return ze(qe),Et(Ve=>ze(Ve))}n.runAndSubscribe=Ne;class $e{constructor(ze,qe){this._observable=ze,this._counter=0,this._hasChanged=!1;const Ve={onWillAddFirstListener:()=>{ze.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{ze.removeObserver(this)}};this.emitter=new Emitter$1(Ve),qe&&qe.add(this.emitter)}beginUpdate(ze){this._counter++}handlePossibleChange(ze){}handleChange(ze,qe){this._hasChanged=!0}endUpdate(ze){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Oe(Et,ze){return new $e(Et,ze).emitter.event}n.fromObservable=Oe;function Fe(Et){return(ze,qe,Ve)=>{let kt=0,Ue=!1;const Dt={beginUpdate(){kt++},endUpdate(){kt--,kt===0&&(Et.reportChanges(),Ue&&(Ue=!1,ze.call(qe)))},handlePossibleChange(){},handleChange(){Ue=!0}};Et.addObserver(Dt),Et.reportChanges();const jt={dispose(){Et.removeObserver(Dt)}};return Ve instanceof DisposableStore?Ve.add(jt):Array.isArray(Ve)&&Ve.push(jt),jt}}n.fromObservableLight=Fe})(Event$1||(Event$1={}));const us=class us{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name="".concat(e,"_").concat(us._idPool++),us.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}}};us.all=new Set,us._idPool=0;let EventProfiling=us,_globalLeakWarningThreshold=-1;const ga=class ga{constructor(e,t,i=(ga._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,z,V,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(((z=this._options)==null?void 0:z.onListenerError)||onUnexpectedError)(de),Disposable.None}if(this._disposed)return Disposable.None;i&&(t=t.bind(i));const g=new UniqueContainer(t);let y;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(g.stack=Stacktrace.create(),y=this._leakageMon.check(g.stack,this._size+1)),this._listeners?this._listeners instanceof UniqueContainer?((re=this._deliveryQueue)!=null||(this._deliveryQueue=new EventDeliveryQueuePrivate),this._listeners=[this._listeners,g]):this._listeners.push(g):((j=(V=this._options)==null?void 0:V.onWillAddFirstListener)==null||j.call(V,this),this._listeners=g,(oe=(ie=this._options)==null?void 0:ie.onDidAddFirstListener)==null||oe.call(ie,this)),this._size++;const k=toDisposable(()=>{y==null||y(),this._removeListener(g)});return r instanceof DisposableStore?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<=t.length){let z=0;for(let V=0;V0}};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: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.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)==null||e.dispose();this.events=[]}}class EventBufferer{constructor(){this.data=[]}wrapEvent(e,t,i){return(r,g,y)=>e(k=>{var V;const L=this.data[this.data.length-1];if(!t){L?L.buffers.push(()=>r.call(g,k)):r.call(g,k);return}const z=L;if(!z){r.call(g,t(i,k));return}(V=z.items)!=null||(z.items=[]),z.items.push(k),z.buffers.length===0&&L.buffers.push(()=>{var j;(j=z.reducedResult)!=null||(z.reducedResult=i?z.items.reduce(t,i):z.items.reduce(t)),r.call(g,z.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}}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.dispose(),this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};function cancelOnDispose(n){const e=new CancellationTokenSource$1;return n.add({dispose(){e.cancel()}}),e.token}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,z,V,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,!z)throw new Error("String representation missing for key code ".concat(L," around scan code ").concat(k));uiMap.define(L,z),userSettingsUSMap.define(L,ie||z),userSettingsGeneralMap.define(L,oe||ie||z)}V&&(EVENT_KEY_CODE_MAP[V]=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;var gc;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"&&typeof((gc=process==null?void 0:process.versions)==null?void 0:gc.node)=="string"?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 z=0;z<=n.length;++z){if(z2){const V=r.lastIndexOf(t);V===-1?(r="",g=0):(r=r.slice(0,V),g=r.length-1-r.lastIndexOf(t)),y=z,k=0;continue}else if(r.length!==0){r="",g=0,y=z,k=0;continue}}e&&(r+=r.length>0?"".concat(t,".."):"..",g=2)}else r.length>0?r+="".concat(t).concat(n.slice(y+1,z)):r=n.slice(y+1,z),g=z-y-1;y=z,k=0}else L===CHAR_DOT&&k!==-1?++k:k=-1}return r}function formatExt(n){return n?"".concat(n[0]==="."?"":".").concat(n):""}function _format(n,e){validateObject(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={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,"paths[".concat(r,"]")),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="",z=!1;const V=g.charCodeAt(0);if(y===1)isPathSeparator$1(V)&&(k=1,z=!0);else if(isPathSeparator$1(V))if(z=!0,isPathSeparator$1(g.charCodeAt(1))){let j=2,ie=j;for(;j2&&isPathSeparator$1(g.charCodeAt(2))&&(z=!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=z,z&&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 z=L-k,V=yV){if(e.charCodeAt(k+ie)===CHAR_BACKWARD_SLASH)return i.slice(k+ie+1);if(ie===2)return i.slice(k+ie)}y>V&&(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,"suffix"),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,z=n.length-1,V=0;for(;z>=i;--z){if(r=n.charCodeAt(z),isPathSeparator$1(r)){if(!L){y=z+1;break}continue}k===-1&&(L=!1,k=z+1),r===CHAR_DOT?g===-1?g=z:V!==1&&(V=1):g!==-1&&(V=-1)}return k!==-1&&(g===-1||V===0||V===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,"paths[".concat(i,"]")),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+z)===CHAR_FORWARD_SLASH)return e.slice(g+z+1);if(z===0)return e.slice(g+z)}else r>k&&(n.charCodeAt(t+z)===CHAR_FORWARD_SLASH?L=z:z===0&&(L=0));let V="";for(z=t+L+1;z<=i;++z)(z===i||n.charCodeAt(z)===CHAR_FORWARD_SLASH)&&(V+=V.length===0?"..":"/..");return"".concat(V).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,z=0;for(;L>=i;--L){const V=n.charCodeAt(L);if(V===CHAR_FORWARD_SLASH){if(!k){g=L+1;break}continue}y===-1&&(k=!1,y=L+1),V===CHAR_DOT?r===-1?r=L:z!==1&&(z=1):r!==-1&&(z=-1)}if(y!==-1){const V=g===0&&t?1:g;r===-1||z===0||z===1&&r===y-1&&r===g+1?e.base=e.name=n.slice(V,y):(e.name=n.slice(V,r),e.base=n.slice(V,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,join$1=platformIsWin32?win32.join:posix.join,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:null,r._fsPath=e._sep===_pathSepMarker&&(i=e.fsPath)!=null?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 z=g.indexOf("@");if(z!==-1){const V=g.substr(0,z);g=g.substr(z+1),z=V.lastIndexOf(":"),z===-1?i+=t(V,!1,!1):(i+=t(V.substr(0,z),!1,!1),i+=":",i+=t(V.substr(z+1),!1,!0)),i+="@"}g=g.toLowerCase(),z=g.lastIndexOf(":"),z===-1?i+=t(g,!1,!0):(i+=t(g.substr(0,z),!1,!0),i+=g.substr(z))}if(y){if(y.length>=3&&y.charCodeAt(0)===47&&y.charCodeAt(2)===58){const z=y.charCodeAt(1);z>=65&&z<=90&&(y="/".concat(String.fromCharCode(z+32),":").concat(y.substr(3)))}else if(y.length>=2&&y.charCodeAt(1)===58){const z=y.charCodeAt(0);z>=65&&z<=90&&(y="".concat(String.fromCharCode(z+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 ir{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 ir(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return ir.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return ir.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 An.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return An.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 An.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 An.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 An.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 An(i,r,g,y)}intersectRanges(e){return An.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,z=t.endLineNumber,V=t.endColumn;return iz?(g=z,y=V):g===z&&(y=Math.min(y,V)),i>g||i===g&&r>y?null:new An(i,r,g,y)}equalsRange(e){return An.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 An.getEndPosition(this)}static getEndPosition(e){return new Position$1(e.endLineNumber,e.endColumn)}getStartPosition(){return An.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 An(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new An(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return An.collapseToStart(this)}static collapseToStart(e){return new An(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return An.collapseToEnd(this)}static collapseToEnd(e){return new An(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new An(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new An(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new An(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 Qn 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 Qn.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 Qn(this.startLineNumber,this.startColumn,e,t):new Qn(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 Qn(e,t,this.endLineNumber,this.endColumn):new Qn(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new Qn(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new Qn(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Qn(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Qn(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(this,e,t);return this._factories.set(e,i),toDisposable(()=>{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}};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 HoverVerbosityAction$1;(function(n){n[n.Increase=0]="Increase",n[n.Decrease=1]="Decrease"})(HoverVerbosityAction$1||(HoverVerbosityAction$1={}));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={}));const Jn=class Jn{static fromValue(e){switch(e){case"comment":return Jn.Comment;case"imports":return Jn.Imports;case"region":return Jn.Region}return new Jn(e)}constructor(e){this.value=e}};Jn.Comment=new Jn("comment"),Jn.Imports=new Jn("imports"),Jn.Region=new Jn("region");let FoldingRangeKind=Jn;var NewSymbolNameTag$1;(function(n){n[n.AIGenerated=1]="AIGenerated"})(NewSymbolNameTag$1||(NewSymbolNameTag$1={}));var NewSymbolNameTriggerKind$1;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(NewSymbolNameTriggerKind$1||(NewSymbolNameTriggerKind$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,TreeSitterTokenizationRegistry=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.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||(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 HoverVerbosityAction;(function(n){n[n.Increase=0]="Increase",n[n.Decrease=1]="Decrease"})(HoverVerbosityAction||(HoverVerbosityAction={}));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 NewSymbolNameTriggerKind;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(NewSymbolNameTriggerKind||(NewSymbolNameTriggerKind={}));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={}));var Io;let KeyMod$1=(Io=class{static chord(e,t){return KeyChord(e,t)}},Io.CtrlCmd=2048,Io.Shift=1024,Io.Alt=512,Io.WinCtrl=256,Io);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;function identity$2(n){return n}class LRUCachedFunction{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=identity$2):(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}}class CachedFunction{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$2):(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}}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}}function isFalsyOrWhitespace(n){return!n||typeof n!="string"?!0:n.trim().length===0}const _formatRegexp=/{(\d+)}/g;function format$1(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 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(n,e){return ne?1:0}function compareSubstring(n,e,t=0,i=n.length,r=0,g=e.length){for(;tz)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||z>=128)return compareSubstring(n.toLowerCase(),e.toLowerCase(),t,i,r,g);isLowerAsciiLetter(L)&&(L-=32),isLowerAsciiLetter(z)&&(z-=32);const V=L-z;if(V!==0)return V}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)}const nr=class nr{static getInstance(){return nr._INSTANCE||(nr._INSTANCE=new nr),nr._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}};nr._INSTANCE=null;let GraphemeBreakTree=nr;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=" ",uo=class uo{static getInstance(e){return uo.cache.get(Array.from(e))}static getLocales(){return uo._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())}};uo.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]}')),uo.cache=new LRUCachedFunction({getCacheKey:JSON.stringify},e=>{function t(V){const j=new Map;for(let ie=0;ie!V.startsWith("_")&&V in g);y.length===0&&(y=["_default"]);let k;for(const V of y){const j=t(g[V]);k=r(k,j)}const L=t(g._common),z=i(L,k);return new uo(z)}),uo._locales=new Lazy(()=>Object.keys(uo.ambiguousCharacterData.value).filter(e=>!e.startsWith("_")));let AmbiguousCharacters=uo;const hs=class hs{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(hs.getRawData())),this._data}static isInvisibleCharacter(e){return hs.getData().has(e)}static get codePoints(){return hs.getData()}};hs._data=void 0;let InvisibleCharacters=hs;const pa=class pa{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}};pa.INSTANCE=new pa;let WindowManager=pa;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$1=navigator.userAgent,isFirefox$1=userAgent$1.indexOf("Firefox")>=0,isWebKit=userAgent$1.indexOf("AppleWebKit")>=0,isChrome=userAgent$1.indexOf("Chrome")>=0,isSafari=!isChrome&&userAgent$1.indexOf("Safari")>=0,isWebkitWebView=!isChrome&&!isSafari&&isWebKit;userAgent$1.indexOf("Electron/")>=0;const isAndroid=userAgent$1.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.call(this,null)};return this.deferred=t===MicrotaskDelay?microtaskDeferred(i):timeoutDeferred(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),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)==null||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._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("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("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class IntervalTimer{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("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const r=i.setInterval(()=>{e()},t);this.disposable=toDisposable(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}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.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?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={}));const Wn=class Wn{static fromArray(e){return new Wn(t=>{t.emitMany(e)})}static fromPromise(e){return new Wn(async t=>{t.emitMany(await e)})}static fromPromises(e){return new Wn(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new Wn(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$1,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 Wn(async i=>{for await(const r of e)i.emitOne(t(r))})}map(e){return Wn.map(this,e)}static filter(e,t){return new Wn(async i=>{for await(const r of e)t(r)&&i.emitOne(r)})}filter(e){return Wn.filter(this,e)}static coalesce(e){return Wn.filter(e,t=>!!t)}coalesce(){return Wn.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return Wn.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())}};Wn.EMPTY=Wn.fromArray([]);let AsyncIterableObject=Wn;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.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,setPrototypeOf,isFrozen,getPrototypeOf,getOwnPropertyDescriptor}=Object;let{freeze:freeze$1,seal,create:create$1}=Object,{apply:apply$1,construct}=typeof Reflect<"u"&&Reflect;freeze$1||(freeze$1=function(e){return e});seal||(seal=function(e){return e});apply$1||(apply$1=function(e,t,i){return e.apply(t,i)});construct||(construct=function(e,t){return new e(...t)});const arrayForEach=unapply(Array.prototype.forEach),arrayPop=unapply(Array.prototype.pop),arrayPush$1=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),objectHasOwnProperty=unapply(Object.prototype.hasOwnProperty),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;r2&&arguments[2]!==void 0?arguments[2]:stringToLowerCase;setPrototypeOf&&setPrototypeOf(n,null);let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){const g=t(r);g!==r&&(isFrozen(e)||(e[i]=g),r=g)}n[r]=!0}return n}function cleanArray(n){for(let e=0;e/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),CUSTOM_ELEMENT=seal(/^[a-z][.\w]*(-[.\w]+)+$/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,CUSTOM_ELEMENT});const NODE_TYPE={element:1,text:3,progressingInstruction:7,comment:8,document:9},getGlobal=function(){return 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=Qi=>createDOMPurify(Qi);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:z,NamedNodeMap:V=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:j,DOMParser:ie,trustedTypes:oe}=n,re=L.prototype,ae=lookupGetter(re,"cloneNode"),le=lookupGetter(re,"remove"),de=lookupGetter(re,"nextSibling"),ue=lookupGetter(re,"childNodes"),he=lookupGetter(re,"parentNode");if(typeof y=="function"){const Qi=t.createElement("template");Qi.content&&Qi.content.ownerDocument&&(t=Qi.content.ownerDocument)}let pe,_e="";const{implementation:Ce,createNodeIterator:xe,createDocumentFragment:Ie,getElementsByTagName:Ne}=t,{importNode:$e}=i;let Oe={};e.isSupported=typeof entries=="function"&&typeof he=="function"&&Ce&&Ce.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Fe,ERB_EXPR:Et,TMPLIT_EXPR:ze,DATA_ATTR:qe,ARIA_ATTR:Ve,IS_SCRIPT_OR_DATA:kt,ATTR_WHITESPACE:Ue,CUSTOM_ELEMENT:Dt}=EXPRESSIONS;let{IS_ALLOWED_URI:jt}=EXPRESSIONS,ei=null;const ti=addToSet({},[...html$1,...svg$1,...svgFilters,...mathMl$1,...text$2]);let hi=null;const ui=addToSet({},[...html$2,...svg,...mathMl,...xml]);let mi=Object.seal(create$1(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}})),pi=null,ri=null,oi=!0,bi=!0,Ti=!1,Si=!0,ni=!1,fi=!0,si=!1,_i=!1,Pt=!1,Lt=!1,At=!1,ii=!1,gi=!0,yi=!1;const Li="user-content-";let Pi=!0,xi=!1,Ai={},Vi=null;const Hi=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 qi=null;const Sn=addToSet({},["audio","video","img","source","image","track"]);let wn=null;const zi=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Yi="http://www.w3.org/1998/Math/MathML",Xi="http://www.w3.org/2000/svg",Ei="http://www.w3.org/1999/xhtml";let Bi=Ei,di=!1,Ni=null;const Mi=addToSet({},[Yi,Xi,Ei],stringToString);let ji=null;const hn=["application/xhtml+xml","text/html"],kn="text/html";let xn=null,$n=null;const Gn=t.createElement("form"),Mn=function(Ii){return Ii instanceof RegExp||Ii instanceof Function},bn=function(){let Ii=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!($n&&$n===Ii)){if((!Ii||typeof Ii!="object")&&(Ii={}),Ii=clone$3(Ii),ji=hn.indexOf(Ii.PARSER_MEDIA_TYPE)===-1?kn:Ii.PARSER_MEDIA_TYPE,xn=ji==="application/xhtml+xml"?stringToString:stringToLowerCase,ei=objectHasOwnProperty(Ii,"ALLOWED_TAGS")?addToSet({},Ii.ALLOWED_TAGS,xn):ti,hi=objectHasOwnProperty(Ii,"ALLOWED_ATTR")?addToSet({},Ii.ALLOWED_ATTR,xn):ui,Ni=objectHasOwnProperty(Ii,"ALLOWED_NAMESPACES")?addToSet({},Ii.ALLOWED_NAMESPACES,stringToString):Mi,wn=objectHasOwnProperty(Ii,"ADD_URI_SAFE_ATTR")?addToSet(clone$3(zi),Ii.ADD_URI_SAFE_ATTR,xn):zi,qi=objectHasOwnProperty(Ii,"ADD_DATA_URI_TAGS")?addToSet(clone$3(Sn),Ii.ADD_DATA_URI_TAGS,xn):Sn,Vi=objectHasOwnProperty(Ii,"FORBID_CONTENTS")?addToSet({},Ii.FORBID_CONTENTS,xn):Hi,pi=objectHasOwnProperty(Ii,"FORBID_TAGS")?addToSet({},Ii.FORBID_TAGS,xn):{},ri=objectHasOwnProperty(Ii,"FORBID_ATTR")?addToSet({},Ii.FORBID_ATTR,xn):{},Ai=objectHasOwnProperty(Ii,"USE_PROFILES")?Ii.USE_PROFILES:!1,oi=Ii.ALLOW_ARIA_ATTR!==!1,bi=Ii.ALLOW_DATA_ATTR!==!1,Ti=Ii.ALLOW_UNKNOWN_PROTOCOLS||!1,Si=Ii.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ni=Ii.SAFE_FOR_TEMPLATES||!1,fi=Ii.SAFE_FOR_XML!==!1,si=Ii.WHOLE_DOCUMENT||!1,Lt=Ii.RETURN_DOM||!1,At=Ii.RETURN_DOM_FRAGMENT||!1,ii=Ii.RETURN_TRUSTED_TYPE||!1,Pt=Ii.FORCE_BODY||!1,gi=Ii.SANITIZE_DOM!==!1,yi=Ii.SANITIZE_NAMED_PROPS||!1,Pi=Ii.KEEP_CONTENT!==!1,xi=Ii.IN_PLACE||!1,jt=Ii.ALLOWED_URI_REGEXP||IS_ALLOWED_URI,Bi=Ii.NAMESPACE||Ei,mi=Ii.CUSTOM_ELEMENT_HANDLING||{},Ii.CUSTOM_ELEMENT_HANDLING&&Mn(Ii.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(mi.tagNameCheck=Ii.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ii.CUSTOM_ELEMENT_HANDLING&&Mn(Ii.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(mi.attributeNameCheck=Ii.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ii.CUSTOM_ELEMENT_HANDLING&&typeof Ii.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(mi.allowCustomizedBuiltInElements=Ii.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ni&&(bi=!1),At&&(Lt=!0),Ai&&(ei=addToSet({},text$2),hi=[],Ai.html===!0&&(addToSet(ei,html$1),addToSet(hi,html$2)),Ai.svg===!0&&(addToSet(ei,svg$1),addToSet(hi,svg),addToSet(hi,xml)),Ai.svgFilters===!0&&(addToSet(ei,svgFilters),addToSet(hi,svg),addToSet(hi,xml)),Ai.mathMl===!0&&(addToSet(ei,mathMl$1),addToSet(hi,mathMl),addToSet(hi,xml))),Ii.ADD_TAGS&&(ei===ti&&(ei=clone$3(ei)),addToSet(ei,Ii.ADD_TAGS,xn)),Ii.ADD_ATTR&&(hi===ui&&(hi=clone$3(hi)),addToSet(hi,Ii.ADD_ATTR,xn)),Ii.ADD_URI_SAFE_ATTR&&addToSet(wn,Ii.ADD_URI_SAFE_ATTR,xn),Ii.FORBID_CONTENTS&&(Vi===Hi&&(Vi=clone$3(Vi)),addToSet(Vi,Ii.FORBID_CONTENTS,xn)),Pi&&(ei["#text"]=!0),si&&addToSet(ei,["html","head","body"]),ei.table&&(addToSet(ei,["tbody"]),delete pi.tbody),Ii.TRUSTED_TYPES_POLICY){if(typeof Ii.TRUSTED_TYPES_POLICY.createHTML!="function")throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ii.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');pe=Ii.TRUSTED_TYPES_POLICY,_e=pe.createHTML("")}else pe===void 0&&(pe=_createTrustedTypesPolicy(oe,r)),pe!==null&&typeof _e=="string"&&(_e=pe.createHTML(""));freeze$1&&freeze$1(Ii),$n=Ii}},Ri=addToSet({},["mi","mo","mn","ms","mtext"]),li=addToSet({},["annotation-xml"]),ai=addToSet({},["title","style","font","a","script"]),vi=addToSet({},[...svg$1,...svgFilters,...svgDisallowed]),wi=addToSet({},[...mathMl$1,...mathMlDisallowed]),ki=function(Ii){let Ki=he(Ii);(!Ki||!Ki.tagName)&&(Ki={namespaceURI:Bi,tagName:"template"});const Ji=stringToLowerCase(Ii.tagName),Nn=stringToLowerCase(Ki.tagName);return Ni[Ii.namespaceURI]?Ii.namespaceURI===Xi?Ki.namespaceURI===Ei?Ji==="svg":Ki.namespaceURI===Yi?Ji==="svg"&&(Nn==="annotation-xml"||Ri[Nn]):!!vi[Ji]:Ii.namespaceURI===Yi?Ki.namespaceURI===Ei?Ji==="math":Ki.namespaceURI===Xi?Ji==="math"&&li[Nn]:!!wi[Ji]:Ii.namespaceURI===Ei?Ki.namespaceURI===Xi&&!li[Nn]||Ki.namespaceURI===Yi&&!Ri[Nn]?!1:!wi[Ji]&&(ai[Ji]||!vi[Ji]):!!(ji==="application/xhtml+xml"&&Ni[Ii.namespaceURI]):!1},$i=function(Ii){arrayPush$1(e.removed,{element:Ii});try{he(Ii).removeChild(Ii)}catch(Ki){le(Ii)}},Oi=function(Ii,Ki){try{arrayPush$1(e.removed,{attribute:Ki.getAttributeNode(Ii),from:Ki})}catch(Ji){arrayPush$1(e.removed,{attribute:null,from:Ki})}if(Ki.removeAttribute(Ii),Ii==="is"&&!hi[Ii])if(Lt||At)try{$i(Ki)}catch(Ji){}else try{Ki.setAttribute(Ii,"")}catch(Ji){}},Wi=function(Ii){let Ki=null,Ji=null;if(Pt)Ii=""+Ii;else{const zn=stringMatch(Ii,/^[\r\n\t ]+/);Ji=zn&&zn[0]}ji==="application/xhtml+xml"&&Bi===Ei&&(Ii=''+Ii+"");const Nn=pe?pe.createHTML(Ii):Ii;if(Bi===Ei)try{Ki=new ie().parseFromString(Nn,ji)}catch(zn){}if(!Ki||!Ki.documentElement){Ki=Ce.createDocument(Bi,"template",null);try{Ki.documentElement.innerHTML=di?_e:Nn}catch(zn){}}const Vn=Ki.body||Ki.documentElement;return Ii&&Ji&&Vn.insertBefore(t.createTextNode(Ji),Vn.childNodes[0]||null),Bi===Ei?Ne.call(Ki,si?"html":"body")[0]:si?Ki.documentElement:Vn},Gi=function(Ii){return xe.call(Ii.ownerDocument||Ii,Ii,z.SHOW_ELEMENT|z.SHOW_COMMENT|z.SHOW_TEXT|z.SHOW_PROCESSING_INSTRUCTION|z.SHOW_CDATA_SECTION,null)},_n=function(Ii){return Ii instanceof j&&(typeof Ii.nodeName!="string"||typeof Ii.textContent!="string"||typeof Ii.removeChild!="function"||!(Ii.attributes instanceof V)||typeof Ii.removeAttribute!="function"||typeof Ii.setAttribute!="function"||typeof Ii.namespaceURI!="string"||typeof Ii.insertBefore!="function"||typeof Ii.hasChildNodes!="function")},Cn=function(Ii){return typeof k=="function"&&Ii instanceof k},Di=function(Ii,Ki,Ji){Oe[Ii]&&arrayForEach(Oe[Ii],Nn=>{Nn.call(e,Ki,Ji,$n)})},Fi=function(Ii){let Ki=null;if(Di("beforeSanitizeElements",Ii,null),_n(Ii))return $i(Ii),!0;const Ji=xn(Ii.nodeName);if(Di("uponSanitizeElement",Ii,{tagName:Ji,allowedTags:ei}),Ii.hasChildNodes()&&!Cn(Ii.firstElementChild)&®ExpTest(/<[/\w]/g,Ii.innerHTML)&®ExpTest(/<[/\w]/g,Ii.textContent)||Ii.nodeType===NODE_TYPE.progressingInstruction||fi&&Ii.nodeType===NODE_TYPE.comment&®ExpTest(/<[/\w]/g,Ii.data))return $i(Ii),!0;if(!ei[Ji]||pi[Ji]){if(!pi[Ji]&&Tn(Ji)&&(mi.tagNameCheck instanceof RegExp&®ExpTest(mi.tagNameCheck,Ji)||mi.tagNameCheck instanceof Function&&mi.tagNameCheck(Ji)))return!1;if(Pi&&!Vi[Ji]){const Nn=he(Ii)||Ii.parentNode,Vn=ue(Ii)||Ii.childNodes;if(Vn&&Nn){const zn=Vn.length;for(let Kn=zn-1;Kn>=0;--Kn){const ao=ae(Vn[Kn],!0);ao.__removalCount=(Ii.__removalCount||0)+1,Nn.insertBefore(ao,de(Ii))}}}return $i(Ii),!0}return Ii instanceof L&&!ki(Ii)||(Ji==="noscript"||Ji==="noembed"||Ji==="noframes")&®ExpTest(/<\/no(script|embed|frames)/i,Ii.innerHTML)?($i(Ii),!0):(ni&&Ii.nodeType===NODE_TYPE.text&&(Ki=Ii.textContent,arrayForEach([Fe,Et,ze],Nn=>{Ki=stringReplace(Ki,Nn," ")}),Ii.textContent!==Ki&&(arrayPush$1(e.removed,{element:Ii.cloneNode()}),Ii.textContent=Ki)),Di("afterSanitizeElements",Ii,null),!1)},Zi=function(Ii,Ki,Ji){if(gi&&(Ki==="id"||Ki==="name")&&(Ji in t||Ji in Gn))return!1;if(!(bi&&!ri[Ki]&®ExpTest(qe,Ki))){if(!(oi&®ExpTest(Ve,Ki))){if(!hi[Ki]||ri[Ki]){if(!(Tn(Ii)&&(mi.tagNameCheck instanceof RegExp&®ExpTest(mi.tagNameCheck,Ii)||mi.tagNameCheck instanceof Function&&mi.tagNameCheck(Ii))&&(mi.attributeNameCheck instanceof RegExp&®ExpTest(mi.attributeNameCheck,Ki)||mi.attributeNameCheck instanceof Function&&mi.attributeNameCheck(Ki))||Ki==="is"&&mi.allowCustomizedBuiltInElements&&(mi.tagNameCheck instanceof RegExp&®ExpTest(mi.tagNameCheck,Ji)||mi.tagNameCheck instanceof Function&&mi.tagNameCheck(Ji))))return!1}else if(!wn[Ki]){if(!regExpTest(jt,stringReplace(Ji,Ue,""))){if(!((Ki==="src"||Ki==="xlink:href"||Ki==="href")&&Ii!=="script"&&stringIndexOf(Ji,"data:")===0&&qi[Ii])){if(!(Ti&&!regExpTest(kt,stringReplace(Ji,Ue,"")))){if(Ji)return!1}}}}}}return!0},Tn=function(Ii){return Ii!=="annotation-xml"&&stringMatch(Ii,Dt)},Dn=function(Ii){Di("beforeSanitizeAttributes",Ii,null);const{attributes:Ki}=Ii;if(!Ki)return;const Ji={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:hi};let Nn=Ki.length;for(;Nn--;){const Vn=Ki[Nn],{name:zn,namespaceURI:Kn,value:ao}=Vn,Vs=xn(zn);let Hn=zn==="value"?ao:stringTrim(ao);if(Ji.attrName=Vs,Ji.attrValue=Hn,Ji.keepAttr=!0,Ji.forceKeepAttr=void 0,Di("uponSanitizeAttribute",Ii,Ji),Hn=Ji.attrValue,Ji.forceKeepAttr||(Oi(zn,Ii),!Ji.keepAttr))continue;if(!Si&®ExpTest(/\/>/i,Hn)){Oi(zn,Ii);continue}ni&&arrayForEach([Fe,Et,ze],lc=>{Hn=stringReplace(Hn,lc," ")});const ac=xn(Ii.nodeName);if(Zi(ac,Vs,Hn)){if(yi&&(Vs==="id"||Vs==="name")&&(Oi(zn,Ii),Hn=Li+Hn),fi&®ExpTest(/((--!?|])>)|<\/(style|title)/i,Hn)){Oi(zn,Ii);continue}if(pe&&typeof oe=="object"&&typeof oe.getAttributeType=="function"&&!Kn)switch(oe.getAttributeType(ac,Vs)){case"TrustedHTML":{Hn=pe.createHTML(Hn);break}case"TrustedScriptURL":{Hn=pe.createScriptURL(Hn);break}}try{Kn?Ii.setAttributeNS(Kn,zn,Hn):Ii.setAttribute(zn,Hn),_n(Ii)?$i(Ii):arrayPop(e.removed)}catch(lc){}}}Di("afterSanitizeAttributes",Ii,null)},Zn=function Qi(Ii){let Ki=null;const Ji=Gi(Ii);for(Di("beforeSanitizeShadowDOM",Ii,null);Ki=Ji.nextNode();)Di("uponSanitizeShadowNode",Ki,null),!Fi(Ki)&&(Ki.content instanceof g&&Qi(Ki.content),Dn(Ki));Di("afterSanitizeShadowDOM",Ii,null)};return e.sanitize=function(Qi){let Ii=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ki=null,Ji=null,Nn=null,Vn=null;if(di=!Qi,di&&(Qi=""),typeof Qi!="string"&&!Cn(Qi))if(typeof Qi.toString=="function"){if(Qi=Qi.toString(),typeof Qi!="string")throw typeErrorCreate("dirty is not a string, aborting")}else throw typeErrorCreate("toString is not a function");if(!e.isSupported)return Qi;if(_i||bn(Ii),e.removed=[],typeof Qi=="string"&&(xi=!1),xi){if(Qi.nodeName){const ao=xn(Qi.nodeName);if(!ei[ao]||pi[ao])throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place")}}else if(Qi instanceof k)Ki=Wi(""),Ji=Ki.ownerDocument.importNode(Qi,!0),Ji.nodeType===NODE_TYPE.element&&Ji.nodeName==="BODY"||Ji.nodeName==="HTML"?Ki=Ji:Ki.appendChild(Ji);else{if(!Lt&&!ni&&!si&&Qi.indexOf("<")===-1)return pe&&ii?pe.createHTML(Qi):Qi;if(Ki=Wi(Qi),!Ki)return Lt?null:ii?_e:""}Ki&&Pt&&$i(Ki.firstChild);const zn=Gi(xi?Qi:Ki);for(;Nn=zn.nextNode();)Fi(Nn)||(Nn.content instanceof g&&Zn(Nn.content),Dn(Nn));if(xi)return Qi;if(Lt){if(At)for(Vn=Ie.call(Ki.ownerDocument);Ki.firstChild;)Vn.appendChild(Ki.firstChild);else Vn=Ki;return(hi.shadowroot||hi.shadowrootmode)&&(Vn=$e.call(i,Vn,!0)),Vn}let Kn=si?Ki.outerHTML:Ki.innerHTML;return si&&ei["!doctype"]&&Ki.ownerDocument&&Ki.ownerDocument.doctype&&Ki.ownerDocument.doctype.name&®ExpTest(DOCTYPE_NAME,Ki.ownerDocument.doctype.name)&&(Kn="\n"+Kn),ni&&arrayForEach([Fe,Et,ze],ao=>{Kn=stringReplace(Kn,ao," ")}),pe&&ii?pe.createHTML(Kn):Kn},e.setConfig=function(){let Qi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bn(Qi),_i=!0},e.clearConfig=function(){$n=null,_i=!1},e.isValidAttribute=function(Qi,Ii,Ki){$n||bn({});const Ji=xn(Qi),Nn=xn(Ii);return Zi(Ji,Nn,Ki)},e.addHook=function(Qi,Ii){typeof Ii=="function"&&(Oe[Qi]=Oe[Qi]||[],arrayPush$1(Oe[Qi],Ii))},e.removeHook=function(Qi){if(Oe[Qi])return arrayPop(Oe[Qi])},e.removeHooks=function(Qi){Oe[Qi]&&(Oe[Qi]=[])},e.removeAllHooks=function(){Oe={}},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.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||(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",Ws=class Ws{asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===Schemas.vscodeRemote?RemoteAuthorities.rewrite(e):e.scheme===Schemas.file&&(isNative||webWorkerOrigin==="".concat(Schemas.vscodeFileResource,"://").concat(Ws.FALLBACK_AUTHORITY))?e.with({scheme:Schemas.vscodeFileResource,authority:e.authority||Ws.FALLBACK_AUTHORITY,query:null,fragment:null}):e}toUri(e,t){if(URI.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const i=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(i))return URI.joinPath(URI.parse(i,!0),e);const r=join$1(i,e);return URI.file(r)}return URI.parse(t.toUrl(e))}};Ws.FALLBACK_AUTHORITY=VSCODE_AUTHORITY;let FileAccessImpl=Ws;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$3(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)}const ma=class ma{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=ma._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,z,V;for(let j=0;j<80;j++)j<20?(L=r&g|~r&y,z=1518500249):j<40?(L=r^g^y,z=1859775393):j<60?(L=r&g|r&y|g&y,z=2400959708):(L=r^g^y,z=3395469782),V=leftRotate$2(i,5)+L+k+z+e.getUint32(j*4,!1)&4294967295,k=y,y=g,g=leftRotate$2(r,30),r=i,i=V;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}};ma._bigBlock32=new DataView(new ArrayBuffer(320));let StringSHA1=ma;const{getWindow:getWindow$2,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 z;const k=y;if((z=k==null?void 0:k.ownerDocument)!=null&&z.defaultView)return k.ownerDocument.defaultView.window;const L=y;return L!=null&&L.view?L.view.window:mainWindow},getDocument(y){return getWindow$2(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"||t==="contextmenu"?g=_wrapAsStandardMouseEvent(getWindow$2(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$2(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$2(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 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.sort),y.shift().execute();i.set(g,!1)};scheduleAtNextAnimationFrame=(g,y,k=0)=>{const L=getWindowId(g),z=new AnimationFrameQueueItem(y,k);let V=n.get(L);return V||(V=[],n.set(L,V)),V.push(z),t.get(L)||(t.set(L,!0),g.requestAnimationFrame(()=>r(L))),z},runAtThisOrScheduleAtNextAnimationFrame=(g,y,k)=>{const L=getWindowId(g);if(i.get(L)){const z=new AnimationFrameQueueItem(y,k);let V=e.get(L);return V||(V=[],e.set(L,V)),V.push(z),z}else return scheduleAtNextAnimationFrame(g,y,k)}})();function getComputedStyle$3(n){return getWindow$2(n).getComputedStyle(n,null)}function getClientArea(n,e){const t=getWindow$2(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$3(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")}}const rr=class rr{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new rr(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof rr?e:new rr(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};rr.None=new rr(0,0);let Dimension=rr;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$1(n)?null:getComputedStyle$3(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$2(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$3(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$1(n){return n&&!!n.host&&!!n.mode}function isInShadowDOM(n){return!!getShadowRoot$2(n)}function getShadowRoot$2(n){var e;for(;n.parentNode;){if(n===((e=n.ownerDocument)==null?void 0:e.body))return null;n=n.parentNode}return isShadowRoot$1(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 e;return getWindowsCount()<=1?mainWindow.document:(e=Array.from(getWindows()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!=null?e:mainWindow.document}function getActiveWindow(){var e,t;return(t=(e=getActiveDocument().defaultView)==null?void 0:e.window)!=null?t: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(()=>i.remove())),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 g,y;const i=new DisposableStore,r=n.cloneNode(!0);t.document.head.appendChild(r),i.add(toDisposable(()=>r.remove()));for(const k of getDynamicStyleSheetRules(n))(y=r.sheet)==null||y.insertRule(k.cssText,(g=r.sheet)==null?void 0:g.cssRules.length);return i.add(sharedMutationObserver.observe(n,i,{childList:!0})(()=>{r.textContent=n.textContent})),e.add(r),i.add(toDisposable(()=>e.delete(r))),i}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$3(t);let g=i.get(r);if(g)g.users+=1;else{const y=new Emitter$1,k=new MutationObserver(z=>y.fire(z));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.rules?n.sheet.rules:(t=n==null?void 0:n.sheet)!=null&&t.cssRules?n.sheet.cssRules:[]}function createCSSRule(n,e,t=getSharedStyleSheet()){var i,r;if(!(!t||!e)){(i=t.sheet)==null||i.insertRule("".concat(n," {").concat(e,"}"),0);for(const g of(r=globalStylesheets.get(t))!=null?r:[])createCSSRule(n,e,g)}}function removeCSSRulesContainingSelector(n,e=getSharedStyleSheet()){var r,g;if(!e)return;const t=getDynamicStyleSheetRules(e),i=[];for(let y=0;y=0;y--)(r=e.sheet)==null||r.deleteRule(i[y]);for(const y of(g=globalStylesheets.get(e))!=null?g:[])removeCSSRulesContainingSelector(n,y)}function isCSSStyleRule(n){return typeof n.selectorText=="string"}function isHTMLElement$1(n){return n instanceof HTMLElement||n instanceof getWindow$2(n).HTMLElement}function isHTMLAnchorElement(n){return n instanceof HTMLAnchorElement||n instanceof getWindow$2(n).HTMLAnchorElement}function isSVGElement(n){return n instanceof SVGElement||n instanceof getWindow$2(n).SVGElement}function isMouseEvent$1(n){return n instanceof MouseEvent||n instanceof getWindow$2(n).MouseEvent}function isKeyboardEvent(n){return n instanceof KeyboardEvent||n instanceof getWindow$2(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(isHTMLElement$1(e)){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,(isHTMLElement$1(e)?getWindow$2(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)),isHTMLElement$1(e)&&(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$2(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$2(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$2(...e)}function show(...n){for(const e of n)e.style.display="",e.removeAttribute("aria-hidden")}function hide$2(...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.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.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.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.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.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.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.call(t,e)}))}}const H_REGEX=new RegExp("(?[\\w\\-]+)?(?:#(?[\\w\\-]+))?(?(?:\\.(?:[\\w\\-]+))*)(?:@(?(?:[\\w\\_])+))?");function h$1(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 z of r.groups.class.split("."))z!==""&&k.push(z);if(t.className!==void 0)for(const z of t.className.split("."))z!==""&&k.push(z);k.length>0&&(y.className=k.join(" "));const L={};if(r.groups.name&&(L[r.groups.name]=y),i)for(const z of i)isHTMLElement$1(z)?y.appendChild(z):typeof z=="string"?y.append(z):"root"in z&&(Object.assign(L,z),y.appendChild(z.root));for(const[z,V]of Object.entries(t))if(z!=="className")if(z==="style")for(const[j,ie]of Object.entries(V))y.style.setProperty(camelCaseToHyphenCase(j),typeof ie=="number"?ie+"px":""+ie);else z==="tabIndex"?y.tabIndex=V:y.setAttribute(camelCaseToHyphenCase(z),V.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.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 z of r.groups.class.split("."))z!==""&&k.push(z);if(t.className!==void 0)for(const z of t.className.split("."))z!==""&&k.push(z);k.length>0&&(y.className=k.join(" "));const L={};if(r.groups.name&&(L[r.groups.name]=y),i)for(const z of i)isHTMLElement$1(z)?y.appendChild(z):typeof z=="string"?y.append(z):"root"in z&&(Object.assign(L,z),y.appendChild(z.root));for(const[z,V]of Object.entries(t))if(z!=="className")if(z==="style")for(const[j,ie]of Object.entries(V))y.style.setProperty(camelCaseToHyphenCase(j),typeof ie=="number"?ie+"px":""+ie);else z==="tabIndex"?y.tabIndex=V:y.setAttribute(camelCaseToHyphenCase(z),V.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.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){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(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),z=this._createRequest("1",0,i,r),V=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),_e=this._createRequest("⸱",0,i,null),Ce="|/-_ilm%";for(let Oe=0,Fe=Ce.length;Oe.001){Ie=!1;break}}let $e=!0;return Ie&&he.width!==Ne&&($e=!1),he.width>ue.width&&($e=!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:$e,spaceWidth:k.width,middotWidth:pe.width,wsmiddotWidth:_e.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)}}const Us=class Us{constructor(){this.id=Us.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 Us,...i]:t=i);return t}async run(){}};Us.ID="vs.actions.separator";let Separator=Us;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(){}}const va=class va extends Action{constructor(){super(va.ID,localize("submenu.empty","(empty)"),void 0,!1)}};va.ID="vs.actions.empty";let EmptySubmenuAction=va;function toAction(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;(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 z(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=z;function V(ie){const oe=ie.id.lastIndexOf("~");if(oe!==-1)return ie.id.substring(oe+1)}n.getModifier=V;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||(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,...z){return validateConstraints(z,y),k(L,...z)}}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., '\\\\/'.");var Lo;let Scanner$2=(Lo=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("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=Lo._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}},Lo._regexFlags=new Set(["i","g","s","m","y","u"].map(e=>e.charCodeAt(0))),Lo._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]),Lo);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$i=Object.prototype.hasOwnProperty,defaultConfig$1={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?");var _o;let Parser$1=(_o=class{constructor(e=defaultConfig$1){this._config=e,this._scanner=new Scanner$2,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$2.getLexeme(i),additionalInfo:r}),_o._parseError}return t}catch(t){if(t!==_o._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(z){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 z=g.slice(k+1,L),V=g[L+1]==="i"?"i":"";try{y=new RegExp(z,V)}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}),_o._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$2.getLexeme(t)),g=t.offset,y=Scanner$2.getLexeme(t);return this._parsingErrors.push({message:r,offset:g,lexeme:y,additionalInfo:i}),_o._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},_o._parseError=new Error,_o);const ec=class ec{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)}};ec._parser=new Parser$1({regexParsingWithErrorRecovery:!1});let ContextKeyExpr=ec;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)}const ba=class ba{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}};ba.INSTANCE=new ba;let ContextKeyFalseExpr=ba;const Ca=class Ca{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}};Ca.INSTANCE=new Ca;let ContextKeyTrueExpr=Ca;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$i.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,z=ContextKeyOrExpr.create(y.expr.map(V=>ContextKeyAndExpr.create([V,k],null,i)),null,L);z&&(r.push(z),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}}const fs=class fs extends ContextKeyDefinedExpr{static all(){return fs._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?fs._info.push({...i,key:e}):i!==!0&&fs._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)}};fs._info=[];let RawContextKey=fs;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$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)}},MenuItemAction_1;function isIMenuItem(n){return n.command!==void 0}function isISubmenuItem(n){return n.submenu!==void 0}const ci=class ci{constructor(e){if(ci._instances.has(e))throw new TypeError("MenuId with identifier '".concat(e,"' already exists. Use MenuId.for(ident) or a unique identifier"));ci._instances.set(e,this),this.id=e}};ci._instances=new Map,ci.CommandPalette=new ci("CommandPalette"),ci.DebugBreakpointsContext=new ci("DebugBreakpointsContext"),ci.DebugCallStackContext=new ci("DebugCallStackContext"),ci.DebugConsoleContext=new ci("DebugConsoleContext"),ci.DebugVariablesContext=new ci("DebugVariablesContext"),ci.NotebookVariablesContext=new ci("NotebookVariablesContext"),ci.DebugHoverContext=new ci("DebugHoverContext"),ci.DebugWatchContext=new ci("DebugWatchContext"),ci.DebugToolBar=new ci("DebugToolBar"),ci.DebugToolBarStop=new ci("DebugToolBarStop"),ci.DebugCallStackToolbar=new ci("DebugCallStackToolbar"),ci.DebugCreateConfiguration=new ci("DebugCreateConfiguration"),ci.EditorContext=new ci("EditorContext"),ci.SimpleEditorContext=new ci("SimpleEditorContext"),ci.EditorContent=new ci("EditorContent"),ci.EditorLineNumberContext=new ci("EditorLineNumberContext"),ci.EditorContextCopy=new ci("EditorContextCopy"),ci.EditorContextPeek=new ci("EditorContextPeek"),ci.EditorContextShare=new ci("EditorContextShare"),ci.EditorTitle=new ci("EditorTitle"),ci.EditorTitleRun=new ci("EditorTitleRun"),ci.EditorTitleContext=new ci("EditorTitleContext"),ci.EditorTitleContextShare=new ci("EditorTitleContextShare"),ci.EmptyEditorGroup=new ci("EmptyEditorGroup"),ci.EmptyEditorGroupContext=new ci("EmptyEditorGroupContext"),ci.EditorTabsBarContext=new ci("EditorTabsBarContext"),ci.EditorTabsBarShowTabsSubmenu=new ci("EditorTabsBarShowTabsSubmenu"),ci.EditorTabsBarShowTabsZenModeSubmenu=new ci("EditorTabsBarShowTabsZenModeSubmenu"),ci.EditorActionsPositionSubmenu=new ci("EditorActionsPositionSubmenu"),ci.ExplorerContext=new ci("ExplorerContext"),ci.ExplorerContextShare=new ci("ExplorerContextShare"),ci.ExtensionContext=new ci("ExtensionContext"),ci.GlobalActivity=new ci("GlobalActivity"),ci.CommandCenter=new ci("CommandCenter"),ci.CommandCenterCenter=new ci("CommandCenterCenter"),ci.LayoutControlMenuSubmenu=new ci("LayoutControlMenuSubmenu"),ci.LayoutControlMenu=new ci("LayoutControlMenu"),ci.MenubarMainMenu=new ci("MenubarMainMenu"),ci.MenubarAppearanceMenu=new ci("MenubarAppearanceMenu"),ci.MenubarDebugMenu=new ci("MenubarDebugMenu"),ci.MenubarEditMenu=new ci("MenubarEditMenu"),ci.MenubarCopy=new ci("MenubarCopy"),ci.MenubarFileMenu=new ci("MenubarFileMenu"),ci.MenubarGoMenu=new ci("MenubarGoMenu"),ci.MenubarHelpMenu=new ci("MenubarHelpMenu"),ci.MenubarLayoutMenu=new ci("MenubarLayoutMenu"),ci.MenubarNewBreakpointMenu=new ci("MenubarNewBreakpointMenu"),ci.PanelAlignmentMenu=new ci("PanelAlignmentMenu"),ci.PanelPositionMenu=new ci("PanelPositionMenu"),ci.ActivityBarPositionMenu=new ci("ActivityBarPositionMenu"),ci.MenubarPreferencesMenu=new ci("MenubarPreferencesMenu"),ci.MenubarRecentMenu=new ci("MenubarRecentMenu"),ci.MenubarSelectionMenu=new ci("MenubarSelectionMenu"),ci.MenubarShare=new ci("MenubarShare"),ci.MenubarSwitchEditorMenu=new ci("MenubarSwitchEditorMenu"),ci.MenubarSwitchGroupMenu=new ci("MenubarSwitchGroupMenu"),ci.MenubarTerminalMenu=new ci("MenubarTerminalMenu"),ci.MenubarViewMenu=new ci("MenubarViewMenu"),ci.MenubarHomeMenu=new ci("MenubarHomeMenu"),ci.OpenEditorsContext=new ci("OpenEditorsContext"),ci.OpenEditorsContextShare=new ci("OpenEditorsContextShare"),ci.ProblemsPanelContext=new ci("ProblemsPanelContext"),ci.SCMInputBox=new ci("SCMInputBox"),ci.SCMChangesSeparator=new ci("SCMChangesSeparator"),ci.SCMChangesContext=new ci("SCMChangesContext"),ci.SCMIncomingChanges=new ci("SCMIncomingChanges"),ci.SCMIncomingChangesContext=new ci("SCMIncomingChangesContext"),ci.SCMIncomingChangesSetting=new ci("SCMIncomingChangesSetting"),ci.SCMOutgoingChanges=new ci("SCMOutgoingChanges"),ci.SCMOutgoingChangesContext=new ci("SCMOutgoingChangesContext"),ci.SCMOutgoingChangesSetting=new ci("SCMOutgoingChangesSetting"),ci.SCMIncomingChangesAllChangesContext=new ci("SCMIncomingChangesAllChangesContext"),ci.SCMIncomingChangesHistoryItemContext=new ci("SCMIncomingChangesHistoryItemContext"),ci.SCMOutgoingChangesAllChangesContext=new ci("SCMOutgoingChangesAllChangesContext"),ci.SCMOutgoingChangesHistoryItemContext=new ci("SCMOutgoingChangesHistoryItemContext"),ci.SCMChangeContext=new ci("SCMChangeContext"),ci.SCMResourceContext=new ci("SCMResourceContext"),ci.SCMResourceContextShare=new ci("SCMResourceContextShare"),ci.SCMResourceFolderContext=new ci("SCMResourceFolderContext"),ci.SCMResourceGroupContext=new ci("SCMResourceGroupContext"),ci.SCMSourceControl=new ci("SCMSourceControl"),ci.SCMSourceControlInline=new ci("SCMSourceControlInline"),ci.SCMSourceControlTitle=new ci("SCMSourceControlTitle"),ci.SCMHistoryTitle=new ci("SCMHistoryTitle"),ci.SCMTitle=new ci("SCMTitle"),ci.SearchContext=new ci("SearchContext"),ci.SearchActionMenu=new ci("SearchActionContext"),ci.StatusBarWindowIndicatorMenu=new ci("StatusBarWindowIndicatorMenu"),ci.StatusBarRemoteIndicatorMenu=new ci("StatusBarRemoteIndicatorMenu"),ci.StickyScrollContext=new ci("StickyScrollContext"),ci.TestItem=new ci("TestItem"),ci.TestItemGutter=new ci("TestItemGutter"),ci.TestProfilesContext=new ci("TestProfilesContext"),ci.TestMessageContext=new ci("TestMessageContext"),ci.TestMessageContent=new ci("TestMessageContent"),ci.TestPeekElement=new ci("TestPeekElement"),ci.TestPeekTitle=new ci("TestPeekTitle"),ci.TestCallStack=new ci("TestCallStack"),ci.TouchBarContext=new ci("TouchBarContext"),ci.TitleBarContext=new ci("TitleBarContext"),ci.TitleBarTitleContext=new ci("TitleBarTitleContext"),ci.TunnelContext=new ci("TunnelContext"),ci.TunnelPrivacy=new ci("TunnelPrivacy"),ci.TunnelProtocol=new ci("TunnelProtocol"),ci.TunnelPortInline=new ci("TunnelInline"),ci.TunnelTitle=new ci("TunnelTitle"),ci.TunnelLocalAddressInline=new ci("TunnelLocalAddressInline"),ci.TunnelOriginInline=new ci("TunnelOriginInline"),ci.ViewItemContext=new ci("ViewItemContext"),ci.ViewContainerTitle=new ci("ViewContainerTitle"),ci.ViewContainerTitleContext=new ci("ViewContainerTitleContext"),ci.ViewTitle=new ci("ViewTitle"),ci.ViewTitleContext=new ci("ViewTitleContext"),ci.CommentEditorActions=new ci("CommentEditorActions"),ci.CommentThreadTitle=new ci("CommentThreadTitle"),ci.CommentThreadActions=new ci("CommentThreadActions"),ci.CommentThreadAdditionalActions=new ci("CommentThreadAdditionalActions"),ci.CommentThreadTitleContext=new ci("CommentThreadTitleContext"),ci.CommentThreadCommentContext=new ci("CommentThreadCommentContext"),ci.CommentTitle=new ci("CommentTitle"),ci.CommentActions=new ci("CommentActions"),ci.CommentsViewThreadActions=new ci("CommentsViewThreadActions"),ci.InteractiveToolbar=new ci("InteractiveToolbar"),ci.InteractiveCellTitle=new ci("InteractiveCellTitle"),ci.InteractiveCellDelete=new ci("InteractiveCellDelete"),ci.InteractiveCellExecute=new ci("InteractiveCellExecute"),ci.InteractiveInputExecute=new ci("InteractiveInputExecute"),ci.InteractiveInputConfig=new ci("InteractiveInputConfig"),ci.ReplInputExecute=new ci("ReplInputExecute"),ci.IssueReporter=new ci("IssueReporter"),ci.NotebookToolbar=new ci("NotebookToolbar"),ci.NotebookStickyScrollContext=new ci("NotebookStickyScrollContext"),ci.NotebookCellTitle=new ci("NotebookCellTitle"),ci.NotebookCellDelete=new ci("NotebookCellDelete"),ci.NotebookCellInsert=new ci("NotebookCellInsert"),ci.NotebookCellBetween=new ci("NotebookCellBetween"),ci.NotebookCellListTop=new ci("NotebookCellTop"),ci.NotebookCellExecute=new ci("NotebookCellExecute"),ci.NotebookCellExecuteGoTo=new ci("NotebookCellExecuteGoTo"),ci.NotebookCellExecutePrimary=new ci("NotebookCellExecutePrimary"),ci.NotebookDiffCellInputTitle=new ci("NotebookDiffCellInputTitle"),ci.NotebookDiffCellMetadataTitle=new ci("NotebookDiffCellMetadataTitle"),ci.NotebookDiffCellOutputsTitle=new ci("NotebookDiffCellOutputsTitle"),ci.NotebookOutputToolbar=new ci("NotebookOutputToolbar"),ci.NotebookOutlineFilter=new ci("NotebookOutlineFilter"),ci.NotebookOutlineActionMenu=new ci("NotebookOutlineActionMenu"),ci.NotebookEditorLayoutConfigure=new ci("NotebookEditorLayoutConfigure"),ci.NotebookKernelSource=new ci("NotebookKernelSource"),ci.BulkEditTitle=new ci("BulkEditTitle"),ci.BulkEditContext=new ci("BulkEditContext"),ci.TimelineItemContext=new ci("TimelineItemContext"),ci.TimelineTitle=new ci("TimelineTitle"),ci.TimelineTitleContext=new ci("TimelineTitleContext"),ci.TimelineFilterSubMenu=new ci("TimelineFilterSubMenu"),ci.AccountsContext=new ci("AccountsContext"),ci.SidebarTitle=new ci("SidebarTitle"),ci.PanelTitle=new ci("PanelTitle"),ci.AuxiliaryBarTitle=new ci("AuxiliaryBarTitle"),ci.AuxiliaryBarHeader=new ci("AuxiliaryBarHeader"),ci.TerminalInstanceContext=new ci("TerminalInstanceContext"),ci.TerminalEditorInstanceContext=new ci("TerminalEditorInstanceContext"),ci.TerminalNewDropdownContext=new ci("TerminalNewDropdownContext"),ci.TerminalTabContext=new ci("TerminalTabContext"),ci.TerminalTabEmptyAreaContext=new ci("TerminalTabEmptyAreaContext"),ci.TerminalStickyScrollContext=new ci("TerminalStickyScrollContext"),ci.WebviewContext=new ci("WebviewContext"),ci.InlineCompletionsActions=new ci("InlineCompletionsActions"),ci.InlineEditsActions=new ci("InlineEditsActions"),ci.InlineEditActions=new ci("InlineEditActions"),ci.NewFile=new ci("NewFile"),ci.MergeInput1Toolbar=new ci("MergeToolbar1Toolbar"),ci.MergeInput2Toolbar=new ci("MergeToolbar2Toolbar"),ci.MergeBaseToolbar=new ci("MergeBaseToolbar"),ci.MergeInputResultToolbar=new ci("MergeToolbarResultToolbar"),ci.InlineSuggestionToolbar=new ci("InlineSuggestionToolbar"),ci.InlineEditToolbar=new ci("InlineEditToolbar"),ci.ChatContext=new ci("ChatContext"),ci.ChatCodeBlock=new ci("ChatCodeblock"),ci.ChatCompareBlock=new ci("ChatCompareBlock"),ci.ChatMessageTitle=new ci("ChatMessageTitle"),ci.ChatExecute=new ci("ChatExecute"),ci.ChatExecuteSecondary=new ci("ChatExecuteSecondary"),ci.ChatInputSide=new ci("ChatInputSide"),ci.AccessibleView=new ci("AccessibleView"),ci.MultiDiffEditorFileToolbar=new ci("MultiDiffEditorFileToolbar"),ci.DiffEditorHunkToolbar=new ci("DiffEditorHunkToolbar"),ci.DiffEditorSelectionToolbar=new ci("DiffEditorSelectionToolbar");let MenuId=ci;const IMenuService=createDecorator("menuService"),Ks=class Ks{static for(e){let t=this._all.get(e);return t||(t=new Ks(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof Ks&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}};Ks._all=new Map;let MenuRegistryChangeEvent=Ks;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,k){var z,V;this.hideActions=r,this.menuKeybinding=g,this._commandService=k,this.id=e.id,this.label=MenuItemAction_1.label(e,i),this.tooltip=(V=typeof e.tooltip=="string"?e.tooltip:(z=e.tooltip)==null?void 0:z.value)!=null?V:"",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.isThemeIcon(j.icon)&&(L=j.icon),this.checked&&j.title&&(this.label=typeof j.title=="string"?j.title:j.title.value)}L||(L=ThemeIcon.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new MenuItemAction_1(t,void 0,i,r,void 0,y,k):void 0,this._options=i,this.class=L&&ThemeIcon.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=MenuItemAction_1=__decorate$2F([__param$2v(5,IContextKeyService),__param$2v(6,ICommandService)],MenuItemAction);class Action2{constructor(e){this.desc=e}}function registerAction2(n){const e=[],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.push(CommandsRegistry.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.appendMenuItem(k.id,{command:{...y,precondition:k.precondition===null?void 0:y.precondition},...k}));else r&&e.push(MenuRegistry.appendMenuItem(r.id,{command:{...y,precondition:r.precondition===null?void 0:y.precondition},...r}));if(i&&(e.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette,{command:y,when:y.precondition})),e.push(MenuRegistry.addCommand(y))),Array.isArray(g))for(const k of g)e.push(KeybindingsRegistry.registerKeybindingRule({...k,id:y.id,when:y.precondition?ContextKeyExpr.and(y.precondition,k.when):k.when}));else g&&e.push(KeybindingsRegistry.registerKeybindingRule({...g,id:y.id,when:y.precondition?ContextKeyExpr.and(y.precondition,g.when):g.when}));return{dispose(){dispose(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 z,V;const y=g.get(IContextKeyService),k=g.get(ILogService);if(!y.contextMatchesRules((z=this.desc.precondition)!=null?z:void 0)){k.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(V=this.desc.precondition)==null?void 0:V.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((z,V)=>{try{const j=r.invokeFunction(e,L.object.textEditorModel,Position$1.lift(y),i.slice(2));z(j)}catch(j){V(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"},ya=class ya{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}};ya.INSTANCE=new ya;let EditorContributionRegistry=ya;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({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&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({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&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({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("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 L=function(z){return Promise.all(z.map(V=>Promise.resolve(V).then(j=>({status:"fulfilled",value:j}),j=>({status:"rejected",reason:j}))))};document.getElementsByTagName("link");const y=document.querySelector("meta[property=csp-nonce]"),k=(y==null?void 0:y.nonce)||(y==null?void 0:y.getAttribute("nonce"));r=L(t.map(z=>{if(z=assetsURL(z),z in seen)return;seen[z]=!0;const V=z.endsWith(".css"),j=V?'[rel="stylesheet"]':"";if(document.querySelector('link[href="'.concat(z,'"]').concat(j)))return;const ie=document.createElement("link");if(ie.rel=V?"stylesheet":scriptRel,V||(ie.as="script"),ie.crossOrigin="",ie.href=z,k&&ie.setAttribute("nonce",k),document.head.appendChild(ie),V)return new Promise((oe,re)=>{ie.addEventListener("load",oe),ie.addEventListener("error",()=>re(new Error("Unable to preload CSS for ".concat(z))))})}))}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="$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,g){this.vsWorker=e,this.req=t,this.channel=i,this.method=r,this.args=g,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,g){this.vsWorker=e,this.req=t,this.channel=i,this.eventName=r,this.arg=g,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,i){const r=String(++this._lastSentReq);return new Promise((g,y)=>{this._pendingReplies[r]={resolve:g,reject:y},this._send(new RequestMessage(this._workerId,r,e,t,i))})}listen(e,t,i){let r=null;const g=new Emitter$1({onWillAddFirstListener:()=>{r=String(++this._lastSentReq),this._pendingEmitters.set(r,g),this._send(new SubscribeEventMessage(this._workerId,r,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(r),this._send(new UnsubscribeEventMessage(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(g)?r[g]=y=>this.listen(e,g,y):propertyIsEvent(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(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.channel,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(g)},g=>{onUnexpectedError(g)})),this._protocol=new SimpleWorkerProtocol({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,[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(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(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(n){return n[0]==="o"&&n[1]==="n"&&isUpperAsciiLetter(n.charCodeAt(2))}function propertyIsDynamicEvent(n){return/^onDynamic/.test(n)&&isUpperAsciiLetter(n.charCodeAt(9))}function createTrustedTypesPolicy(n,e){var i;const t=globalThis.MonacoEnvironment;if(t!=null&&t.createTrustedTypesPolicy)try{return t.createTrustedTypesPolicy(n,e)}catch(r){onUnexpectedError(r);return}try{return(i=globalThis.trustedTypes)==null?void 0:i.createPolicy(n,e)}catch(r){onUnexpectedError(r);return}}let ttPolicy$4;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?ttPolicy$4=globalThis.workerttPolicy:ttPolicy$4=createTrustedTypesPolicy("defaultWorkerFactory",{createScriptURL:n=>n});function getWorker$1(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$4?ttPolicy$4.createScriptURL(i):i,{name:e,type:"module"})}}if(n){const i=getWorkerBootstrapUrl(e,n.toString(!0)),r=new Worker(ttPolicy$4?ttPolicy$4.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.addSearchParam(k,!0,!0),k.toString()?e="".concat(e,"?").concat(k.toString(),"#").concat(n):e="".concat(e,"#").concat(n)}const r=new Blob([coalesce(["/*".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(n){return typeof n.then=="function"}class WebWorker extends Disposable{constructor(e,t,i,r,g,y){super(),this.id=i,this.label=r;const k=getWorker$1(e,r);isPromiseLike(k)?this.worker=k:this.worker=Promise.resolve(k),this.postMessage(t,[]),this.worker.then(L=>{L.onmessage=function(z){g(z.data)},L.onmessageerror=y,typeof L.addEventListener=="function"&&L.addEventListener("error",y)}),this._register(toDisposable(()=>{var L;(L=this.worker)==null||L.then(z=>{z.onmessage=null,z.onmessageerror=null,z.removeEventListener("error",y),z.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(g),onUnexpectedError(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.asBrowserUri("".concat(e,".esm.js"))}}const Sa=class Sa{constructor(){this._webWorkerFailedBeforeError=!1}create(e,t,i){const r=++Sa.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new WebWorker(e.esmModuleLocation,e.amdModuleId,r,e.label||"anonymous"+r,t,g=>{logOnceWebWorkerWarning(g),this._webWorkerFailedBeforeError=g,i(g)})}};Sa.LAST_WORKER_ID=0;let DefaultWorkerFactory=Sa;function createWebWorker$2(n,e){const t=typeof n=="string"?new WorkerDescriptor(n,e):n;return new SimpleWorkerClient(new DefaultWorkerFactory,t)}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;tnew 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:gs.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:gs.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}};gs.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n ",gs.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n ";let CharacterPairSupport=gs;function createScopedLineTokens(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(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,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(n){return(n&3)!==0}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,z]=y,[V,j]=k;return L===V||L===j||z===V||z===j},r=(y,k)=>{const L=Math.min(y,k),z=Math.max(y,k);for(let V=0;V0&&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 V=t.getActualLineContentBefore(k.startColumn-1);return/^\s*$/.test(V)?{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;gz.reg?(z.reg.lastIndex=0,z.reg.test(z.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.registeredConfigurationDefaults=[],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 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),z=g[k];if(L.configurationDefaultOverrides.push({value:z,source:y}),OVERRIDE_PROPERTY_REGEX.test(k)){const V=this.mergeDefaultConfigurationsForOverrideIdentifier(k,z,y,L.configurationDefaultOverrideValue);if(!V)continue;L.configurationDefaultOverrideValue=V,this.updateDefaultOverrideProperty(k,V,y),i.push(...overrideIdentifiersFromKey(k))}else{const V=this.mergeDefaultConfigurationsForConfigurationProperty(k,z,y,L.configurationDefaultOverrideValue);if(!V)continue;L.configurationDefaultOverrideValue=V;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("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",getLanguageTagSettingPlainKey(e)),$ref:resourceLanguageSettingsSchemaId,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 z of Object.keys(t)){const V=t[z];if(isObject$6(V)&&(isUndefined$4(g[z])||isObject$6(g[z]))){if(g[z]={...(L=g[z])!=null?L:{},...V},i)for(const ie in V)y.set("".concat(z,".").concat(ie),i)}else g[z]=V,i?y.set(z,i):y.delete(z)}return{value:g,source:y}}mergeDefaultConfigurationsForConfigurationProperty(e,t,i,r){var z,V;const g=this.configurationProperties[e],y=(z=r==null?void 0:r.value)!=null?z:g==null?void 0:g.defaultDefaultValue;let k=i;if(isObject$6(t)&&(g!==void 0&&g.type==="object"||g===void 0&&(isUndefined$4(y)||isObject$6(y)))){if(k=(V=r==null?void 0:r.source)!=null?V: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$6(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 z;g=isUndefinedOrNull(e.scope)?g:e.scope;const k=e.properties;if(k)for(const V in k){const j=k[V];if(t&&validateProperty(V,j)){delete k[V];continue}if(j.source=i,j.defaultDefaultValue=k[V].default,this.updatePropertyDefaultValue(V,j),OVERRIDE_PROPERTY_REGEX.test(V)?j.scope=void 0:(j.scope=isUndefinedOrNull(j.scope)?g:j.scope,j.restricted=isUndefinedOrNull(j.restricted)?!!(r!=null&&r.includes(V)):j.restricted),k[V].hasOwnProperty("included")&&!k[V].included){this.excludedConfigurationProperties[V]=k[V],delete k[V];continue}else this.configurationProperties[V]=k[V],(z=k[V].policy)!=null&&z.name&&this.policyConfigurations.set(k[V].policy.name,V);!k[V].deprecationMessage&&k[V].markdownDeprecationMessage&&(k[V].deprecationMessage=k[V].markdownDeprecationMessage),y.add(V)}const L=e.allOf;if(L)for(const V of L)this.validateAndRegisterProperties(V,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){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$4(r)&&(r=t.defaultDefaultValue,g=void 0),isUndefined$4(r)&&(r=getDefaultValue$2(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$2(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.name&&configurationRegistry$2.getPolicyConfigurations().get((i=e.policy)==null?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?void 0:r.name,configurationRegistry$2.getPolicyConfigurations().get((g=e.policy)==null?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,z=new Set;return{info:new ClosingBracketKind(this,k,L,z),opening:L,openingColorized:z}});for(const[k,L]of i){const z=r.get(k),V=g.get(L);z.closing.add(V.info),V.opening.add(z.info)}const y=t.colorizedBracketPairs?filterValidBrackets(t.colorizedBracketPairs):i.filter(k=>!(k[0]==="<"&&k[1]===">"));for(const[k,L]of y){const z=r.get(k),V=g.get(L);z.closing.add(V.info),V.openingColorized.add(z.info),V.opening.add(z.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(t,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$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)}};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(z=>i.has(z))).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$2E([__param$2u(0,IConfigurationService),__param$2u(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}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,z]=LcsDiff._getElements(t);this._hasStrings=y&&z,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),z=y[0],V=k[0];if(L!==null)return L;if(!g[0]){const j=this.ComputeDiffRecursive(e,z,i,V,g);let ie=[];return g[0]?ie=[new DiffChange(z+1,t-(z+1)+1,V+1,r-(V+1)+1)]:ie=this.ComputeDiffRecursive(z+1,t,V+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,z,V,j,ie,oe,re,ae,le,de,ue){let he=null,pe=null,_e=new DiffChangeHelper,Ce=t,xe=i,Ie=oe[0]-le[0]-r,Ne=-1073741824,$e=this.m_forwardHistory.length-1;do{const Oe=Ie+e;Oe===Ce||Oe=0&&(z=this.m_forwardHistory[$e],e=z[0],Ce=1,xe=z.length-1)}while(--$e>=-1);if(he=_e.getReverseChanges(),ue[0]){let Oe=oe[0]+1,Fe=le[0]+1;if(he!==null&&he.length>0){const Et=he[he.length-1];Oe=Math.max(Oe,Et.getOriginalEnd()),Fe=Math.max(Fe,Et.getModifiedEnd())}pe=[new DiffChange(Oe,ie-Oe+1,Fe,ae-Fe+1)]}else{_e=new DiffChangeHelper,Ce=y,xe=k,Ie=oe[0]-le[0]-L,Ne=1073741824,$e=de?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const Oe=Ie+g;Oe===Ce||Oe=V[Oe+1]?(j=V[Oe+1]-1,re=j-Ie-L,j>Ne&&_e.MarkNextChange(),Ne=j+1,_e.AddOriginalElement(j+1,re+1),Ie=Oe+1-g):(j=V[Oe-1],re=j-Ie-L,j>Ne&&_e.MarkNextChange(),Ne=j,_e.AddModifiedElement(j+1,re+1),Ie=Oe-1-g),$e>=0&&(V=this.m_reverseHistory[$e],g=V[0],Ce=1,xe=V.length-1)}while(--$e>=-1);pe=_e.getChanges()}return this.ConcatenateChanges(he,pe)}ComputeRecursionPoint(e,t,i,r,g,y,k){let L=0,z=0,V=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,_e=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,$e=0;V=this.ClipDiagonalBound(ue-Ie,Ie,ue,ae),j=this.ClipDiagonalBound(ue+Ie,Ie,ue,ae);for(let Fe=V;Fe<=j;Fe+=2){Fe===V||FeNe+$e&&(Ne=L,$e=z),!xe&&Math.abs(Fe-he)<=Ie-1&&L>=de[Fe])return g[0]=L,y[0]=z,Et<=de[Fe]&&Ie<=1448?this.WALKTRACE(ue,V,j,pe,he,ie,oe,_e,le,de,L,t,g,z,r,y,xe,k):null}const Oe=(Ne-e+($e-i)-Ie)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(Ne,Oe))return k[0]=!0,g[0]=Ne,y[0]=$e,Oe>0&&Ie<=1448?this.WALKTRACE(ue,V,j,pe,he,ie,oe,_e,le,de,L,t,g,z,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 Fe=ie;Fe<=oe;Fe+=2){Fe===ie||Fe=de[Fe+1]?L=de[Fe+1]-1:L=de[Fe-1],z=L-(Fe-he)-_e;const Et=L;for(;L>e&&z>i&&this.ElementsAreEqual(L,z);)L--,z--;if(de[Fe]=L,xe&&Math.abs(Fe-ue)<=Ie&&L<=le[Fe])return g[0]=L,y[0]=z,Et>=le[Fe]&&Ie<=1448?this.WALKTRACE(ue,V,j,pe,he,ie,oe,_e,le,de,L,t,g,z,r,y,xe,k):null}if(Ie<=1447){let Fe=new Int32Array(j-V+2);Fe[0]=ue-V+1,MyArray.Copy2(le,V,Fe,1,j-V+1),this.m_forwardHistory.push(Fe),Fe=new Int32Array(oe-ie+2),Fe[0]=he-ie+1,MyArray.Copy2(de,ie,Fe,1,oe-ie+1),this.m_reverseHistory.push(Fe)}}return this.WALKTRACE(ue,V,j,pe,he,ie,oe,_e,le,de,L,t,g,z,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,z=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(iez&&(z=ae,L=j)}i.originalStart-=L,i.modifiedStart-=L;const V=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],V)){e[t-1]=V[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&oe>L&&(L=oe,z=j,V=ie)}return L>0?[z,V]: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 CharacterClassifier{constructor(e){const t=toUint8(e);this._defaultValue=t,this._asciiMap=CharacterClassifier._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(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()}}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),z>i&&(i=z)}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 z=0,V=0,j=0,ie=1,oe=!1,re=!1,ae=!1,le=!1;for(;z=0?(r+=i?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}};wa.INSTANCE=new wa;let BasicInplaceReplace=wa;const js=class js{static getChannel(e){return e.getChannel(js.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(js.CHANNEL_NAME,t)}};js.CHANNEL_NAME="editorWorkerHost";let EditorWorkerHost=js;var _a$2,_b;class ResourceMapEntry{constructor(e,t){this.uri=e,this.value=t}}function isEntries(n){return Array.isArray(n)}const sr=class sr{constructor(e,t){if(this[_a$2]="ResourceMap",e instanceof sr)this.map=new Map(e.map),this.toKey=t!=null?t:sr.defaultToKey;else if(isEntries(e)){this.map=new Map,this.toKey=t!=null?t:sr.defaultToKey;for(const[i,r]of e)this.set(i,r)}else this.map=new Map,this.toKey=e!=null?e:sr.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?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$2=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}};sr.defaultToKey=e=>e.toString();let ResourceMap=sr;class LinkedMap{constructor(){this[_b]="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=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{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))}}class LRUCache 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}}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 z;if(r){const oe=r.findLineFeedCountBeforeOffset(g+y.length)-L;z=k+y.length+oe}else z=k+y.length;const V=e.getPositionAt(k),j=e.getPositionAt(z);return new Range$2(V.lineNumber,V.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,z=[];let V=0,j;for(i.reset(0);j=i.next(k);)if(z[V++]=createFindMatch(this._getMultilineMatchRange(e,y,k,L,j.index,j[0]),j,r),V>=g)return z;return z}static _doFindMatchesLineByLine(e,t,i,r,g){const y=[];let k=0;if(t.startLineNumber===t.endLineNumber){const z=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return k=this._findMatchesInLine(i,z,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 z=t.startLineNumber+1;z=L))return g;return g}const V=new Searcher(e.wordSeparators,e.regex);let j;V.reset(0);do if(j=V.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),z=e.getEOL()==="\r\n"?new LineFeedCounter(L):null;i.reset(t.column-1);const V=i.next(L);return V?createFindMatch(this._getMultilineMatchRange(e,y,L,z,V.index,V[0]),V,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 z=1;z<=g;z++){const V=(y+z-1)%g,j=e.getLineContent(V+1),ie=this._findFirstMatchInLine(i,j,V+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 z=1;z<=g;z++){const V=(g+y-z-1)%g,j=e.getLineContent(V+1),ie=this._findLastMatchInLine(i,j,V+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 z=new Searcher(null,L),V=[];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;z.reset(0);do if(ie=z.next(ue),ie){let pe=ie.index,_e=ie.index+ie[0].length;if(pe>0){const Ne=ue.charCodeAt(pe-1);isHighSurrogate(Ne)&&pe--}if(_e+1=1e3){j=!0;break e}V.push(new Range$2(le,pe+1,le,_e+1))}}while(ie)}return{ranges:V,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){const t=findLastIdx(n,e);if(t!==-1)return n[t]}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 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(n,e){for(const t of n){const i=e(t);if(i!==void 0)return i}}let LineRange$1=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(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)))}}const $o=class $o{static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new $o(0,t.column-e.column):new $o(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return $o.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 $o(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$2(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new Range$2(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return this.lineCount===0?new Position$1(e.lineNumber,e.column+this.columnCount):new Position$1(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return"".concat(this.lineCount,",").concat(this.columnCount)}};$o.zero=new $o(0,0);let TextLength=$o;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(),z=rangeFromPositions(i,k);z.isEmpty()||(t+=e.getValueOfRange(z)),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}toSingleEditOperation(){return{range:this.range,text:this.text}}}function rangeFromPositions(n,e){if(n.lineNumber===e.lineNumber&&n.column===Number.MAX_SAFE_INTEGER)return Range$2.fromPositions(e,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 LineRangeMapping{static inverse(e,t,i){const r=[];let g=1,y=1;for(const L of e){const z=new LineRangeMapping(new LineRange$1(g,L.original.startLineNumber),new LineRange$1(y,L.modified.startLineNumber));z.modified.isEmpty||r.push(z),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))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new RangeMapping(e,t);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new BugIndicatingError("not a valid diff");return new RangeMapping(new Range$2(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Range$2(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new RangeMapping(new Range$2(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new Range$2(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(new Range$2(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Range$2(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new RangeMapping(Range$2.fromPositions(new Position$1(this.original.startLineNumber,1),normalizePosition(new Position$1(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),Range$2.fromPositions(new Position$1(this.modified.startLineNumber,1),normalizePosition(new Position$1(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new RangeMapping(Range$2.fromPositions(normalizePosition(new Position$1(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),normalizePosition(new Position$1(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),Range$2.fromPositions(normalizePosition(new Position$1(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),normalizePosition(new Position$1(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new BugIndicatingError}}function normalizePosition(n,e){if(n.lineNumber<1)return new Position$1(1,1);if(n.lineNumber>e.length)return new Position$1(e.length,e[e.length-1].length+1);const t=e[n.lineNumber-1];return n.column>t.length+1?new Position$1(n.lineNumber,t.length+1):n}function isValidLineNumber(n,e){return n>=1&&n<=e.length}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?void 0:e.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new DetailedLineRangeMapping(this.original,this.modified,[this.toRangeMapping()])}}class RangeMapping{static assertSorted(e){for(let t=1;t").concat(this.modifiedRange.toString(),"}")}flip(){return new RangeMapping(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new SingleTextEdit(this.originalRange,t)}}const MINIMUM_MATCHING_CHARACTER_LENGTH=3;class LegacyLinesDiffComputer{computeDiff(e,t,i){var L;const g=new DiffComputer(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),y=[];let k=null;for(const z of g.changes){let V;z.originalEndLineNumber===0?V=new LineRange$1(z.originalStartLineNumber+1,z.originalStartLineNumber+1):V=new LineRange$1(z.originalStartLineNumber,z.originalEndLineNumber+1);let j;z.modifiedEndLineNumber===0?j=new LineRange$1(z.modifiedStartLineNumber+1,z.modifiedStartLineNumber+1):j=new LineRange$1(z.modifiedStartLineNumber,z.modifiedEndLineNumber+1);let ie=new DetailedLineRangeMapping(V,j,(L=z.charChanges)==null?void 0:L.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))));k&&(k.modified.endLineNumberExclusive===ie.modified.startLineNumber||k.original.endLineNumberExclusive===ie.original.startLineNumber)&&(ie=new DetailedLineRangeMapping(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(()=>checkAdjacentItems(y,(z,V)=>V.original.startLineNumber-z.original.endLineNumberExclusive===V.modified.startLineNumber-z.modified.endLineNumberExclusive&&z.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),z=i.getStartColumn(e.modifiedStart),V=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),j=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new CharChange(r,g,y,k,L,z,V,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))}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("Sequence diffs must be sorted");t=i}}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)}}const ar=class ar{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return"".concat(this.offset1," <-> ").concat(this.offset2)}delta(e){return e===0?this:new ar(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}};ar.zero=new ar(0,0),ar.max=new ar(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);let OffsetPair=ar;const xa=class xa{isValid(){return!0}};xa.instance=new xa;let InfiniteTimeout=xa;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 z=e.length,V=t.length;function j(re,ae){(re+1!==z||ae+1!==V)&&L.push(new SequenceDiff(new OffsetRange(re+1,z),new OffsetRange(ae+1,V))),z=re,V=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 _e=y(he,pe);L.set(V,_e);const Ce=he===de?z.get(V+1):z.get(V-1);if(z.set(V,_e!==he?new SnakePath(Ce,he,pe,_e-he):Ce),L.get(V)===r.length&&L.get(V)-V===g.length)break e}}let j=z.get(V);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.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 z=g.trimStart();k=g.length-z.length,g=z.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 z=0;zString.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(eg<=e),r=e-this.firstElementOffsetByLineIdx[i];return new Position$1(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$2.fromPositions(i,i):Range$2.fromPositions(t,i)}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?r:0,i=(g=findFirstMonotonous(this.firstElementOffsetByLineIdx,y=>e.endExclusive<=y))!=null?g:this.elements.length;return new OffsetRange(t,i)}}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$1(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(V=>!k.has(V)),z=computeUnchangedMoves(L,i,r,e,t,g);return pushMany(y,z),y=joinCloseConsecutiveMoves(y),y=y.filter(V=>{const j=V.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 z=-1,V;for(const j of y){const ie=L.computeSimilarity(j);ie>z&&(z=ie,V=j)}if(z>.9&&V&&(y.delete(V),r.push(new LineRangeMapping(L.range,V.range)),k.add(L.source),k.add(V.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 z=new LineRangeSet,V=new LineRangeSet;for(const ie of L){const oe=ie.modifiedLineRange.startLineNumber-ie.originalLineRange.startLineNumber,re=z.subtractFrom(ie.modifiedLineRange),ae=V.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)),z.addRange(ue),V.addRange(he)}}y.sort(compareBy(ie=>ie.original.startLineNumber,numberComparator));const j=new MonotonousArray(n);for(let ie=0;ieCe.original.startLineNumber<=oe.original.startLineNumber),ae=findLastMonotonous(n,Ce=>Ce.modified.startLineNumber<=oe.modified.startLineNumber),le=Math.max(oe.original.startLineNumber-re.original.startLineNumber,oe.modified.startLineNumber-ae.modified.startLineNumber),de=j.findLastMonotonous(Ce=>Ce.original.startLineNumberCe.modified.startLineNumberi.length||xe>r.length||z.contains(xe)||V.contains(Ce)||!areLinesSimilar(i[Ce-1],r[xe-1],g))break}pe>0&&(V.addRange(new LineRange$1(oe.original.startLineNumber-pe,oe.original.startLineNumber)),z.addRange(new LineRange$1(oe.modified.startLineNumber-pe,oe.modified.startLineNumber)));let _e;for(_e=0;_ei.length||xe>r.length||z.contains(xe)||V.contains(Ce)||!areLinesSimilar(i[Ce-1],r[xe-1],g))break}_e>0&&(V.addRange(new LineRange$1(oe.original.endLineNumberExclusive,oe.original.endLineNumberExclusive+_e)),z.addRange(new LineRange$1(oe.modified.endLineNumberExclusive,oe.modified.endLineNumberExclusive+_e))),(pe>0||_e>0)&&(y[ie]=new LineRangeMapping(new LineRange$1(oe.original.startLineNumber-pe,oe.original.endLineNumberExclusive+_e),new LineRange$1(oe.modified.startLineNumber-pe,oe.modified.endLineNumberExclusive+_e)))}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 Range$2(1,1,1,n.length),!1),new LinesSliceCharSequence([e],new Range$2(1,1,1,e.length),!1),t);let g=0;const y=SequenceDiff.invert(r.diffs,n.length);for(const V of y)V.seq1Range.forEach(j=>{isSpace$1(n.charCodeAt(j))||g++});function k(V){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(z))}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+kz&&(z=re,L=V)}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,z){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),_e=pe.intersect(le);if(re+=_e.seq1Range.length,ae+=_e.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],z=y[y.length-1];V(z,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),_e=oe.seq2Range.length,Ce=n.countLinesIn(re.seq1Range),xe=re.seq1Range.length,Ie=e.countLinesIn(re.seq2Range),Ne=re.seq2Range.length,$e=2*40+50;function Oe(Fe){return Math.min(Fe,$e)}return Math.pow(Math.pow(Oe(ue*40+he),1.5)+Math.pow(Oe(pe*40+_e),1.5),1.5)+Math.pow(Math.pow(Oe(Ce*40+xe),1.5)+Math.pow(Oe(Ie*40+Ne),1.5),1.5)>($e**1.5)**1.5*1.3};const z=i[L],V=k[k.length-1];j(V,z)?(g=!0,k[k.length-1]=k[k.length-1].join(z)):k.push(z)}i=k}while(r++<10&&g);const y=[];return forEachWithNeighbors(i,(k,L,z)=>{let V=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)&&(V=V.deltaStart(-oe.length));const re=n.getText(new OffsetRange(L.seq1Range.endExclusive,ie.endExclusive));j(re)&&(V=V.deltaEnd(re.length));const ae=SequenceDiff.fromOffsetPairs(k?k.getEndExclusives():OffsetPair.zero,z?z.getStarts():OffsetPair.max),le=V.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(;e_e===Ce))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[e.length-1].length+1),new Range$2(1,1,t.length,t[t.length-1].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?InfiniteTimeout.instance:new DateTimeout(i.maxComputationTimeMs),g=!i.ignoreTrimWhitespace,y=new Map;function k(_e){let Ce=y.get(_e);return Ce===void 0&&(Ce=y.size,y.set(_e,Ce)),Ce}const L=e.map(_e=>k(_e.trim())),z=t.map(_e=>k(_e.trim())),V=new LineSequence(L,e),j=new LineSequence(z,t),ie=V.length+j.length<1700?this.dynamicProgrammingDiffing.compute(V,j,r,(_e,Ce)=>e[_e]===t[Ce]?t[Ce].length===0?.1:1+Math.log(1+t[Ce].length):.99):this.myersDiffingAlgorithm.compute(V,j,r);let oe=ie.diffs,re=ie.hitTimeout;oe=optimizeSequenceDiffs(V,j,oe),oe=removeVeryShortMatchingLinesBetweenDiffs(V,j,oe);const ae=[],le=_e=>{if(g)for(let Ce=0;Ce<_e;Ce++){const xe=de+Ce,Ie=ue+Ce;if(e[xe]!==t[Ie]){const Ne=this.refineDiff(e,t,new SequenceDiff(new OffsetRange(xe,xe+1),new OffsetRange(Ie,Ie+1)),r,g);for(const $e of Ne.mappings)ae.push($e);Ne.hitTimeout&&(re=!0)}}};let de=0,ue=0;for(const _e of oe){assertFn(()=>_e.seq1Range.start-de===_e.seq2Range.start-ue);const Ce=_e.seq1Range.start-de;le(Ce),de=_e.seq1Range.endExclusive,ue=_e.seq2Range.endExclusive;const xe=this.refineDiff(e,t,_e,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,z,r,g)),assertFn(()=>{function _e(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 Ce(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(!(_e(Ie.modifiedRange.getStartPosition(),t)&&_e(Ie.modifiedRange.getEndPosition(),t)&&_e(Ie.originalRange.getStartPosition(),e)&&_e(Ie.originalRange.getEndPosition(),e)))return!1;if(!Ce(xe.modified,t)||!Ce(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(V=>{const j=this.refineDiff(t,i,new SequenceDiff(V.original.toOffsetRange(),V.modified.toOffsetRange()),y,k),ie=lineRangeMappingFromRangeMappings(j.mappings,t,i,!0);return new MovedText(V,ie)})}refineDiff(e,t,i,r,g){const k=toLineRangeMapping(i).toRangeMapping2(e,t),L=new LinesSliceCharSequence(e,k.originalRange,g),z=new LinesSliceCharSequence(t,k.modifiedRange,g),V=L.length+z.length<500?this.dynamicProgrammingDiffing.compute(L,z,r):this.myersDiffingAlgorithm.compute(L,z,r);let j=V.diffs;return j=optimizeSequenceDiffs(L,z,j),j=extendDiffsToEntireWordIfAppropriate(L,z,j),j=removeShortMatches(L,z,j),j=removeVeryShortMatchingTextBetweenLongDiffs(L,z,j),{mappings:j.map(oe=>new RangeMapping(L.translateRange(oe.seq1Range),z.translateRange(oe.seq2Range))),hitTimeout:V.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])}function toLineRangeMapping(n){return new LineRangeMapping(new LineRange$1(n.seq1Range.start+1,n.seq1Range.endExclusive+1),new LineRange$1(n.seq2Range.start+1,n.seq2Range.endExclusive+1))}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 Hs{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,z=0;const V=(k+y)/2,j=y-k;if(j>0){switch(z=Math.min(V<=.5?j/(2*V):j/(2-2*V),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 z=r<.5?r*(1+i):r+i-r*i,V=2*r-z;y=Hs._hue2rgb(V,z,t+1/3),k=Hs._hue2rgb(V,z,t),L=Hs._hue2rgb(V,z,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 z;return k===0?z=0:g===t?z=((i-r)/k%6+6)%6:g===i?z=(r-t)/k+2:z=(t-i)/k+4,new HSVA(Math.round(z*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[z,V,j]=[0,0,0];return t<60?(z=y,V=k):t<120?(z=k,V=y):t<180?(V=y,j=k):t<240?(V=k,j=y):t<300?(z=k,j=y):t<=360&&(z=y,j=k),z=Math.round((z+L)*255),V=Math.round((V+L)*255),j=Math.round((j+L)*255),new RGBA$1(z,V,j,g)}}var In;let Color$1=(In=class{static fromHex(e){return In.Format.CSS.parseHex(e)||In.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=In._relativeLuminanceForComponent(this.rgba.r),t=In._relativeLuminanceForComponent(this.rgba.g),i=In._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(z=>z!==void 0),y=g[1],k=g[2];if(!k)continue;let L;if(y==="rgb"){const z=/^\(\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,z),!1)}else if(y==="rgba"){const z=/^\(\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,z),!0)}else if(y==="hsl"){const z=/^\(\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,z),!1)}else if(y==="hsla"){const z=/^\(\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,z),!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 i;let t=[];if(e.findRegionSectionHeaders&&((i=e.foldingRules)!=null&&i.markers)){const r=collectRegionHeaders(n,e);t=t.concat(r)}if(e.findMarkSectionHeaders){const r=collectMarkHeaders(n);t=t.concat(r)}return t}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 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;gthis._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=!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&&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 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(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]}}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}}const ka=class ka{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.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),z=L.changes.length>0?!1:this._modelsAreIdentical(e,t);function V(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:z,quitEarly:L.hitTimeout,changes:V(L.changes),moves:L.moves.map(j=>[j.lineRangeMapping.original.startLineNumber,j.lineRangeMapping.original.endLineNumberExclusive,j.lineRangeMapping.modified.startLineNumber,j.lineRangeMapping.modified.endLineNumberExclusive,V(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,z)=>{if(L.range&&z.range)return Range$2.compareRangesUsingStarts(L.range,z.range);const V=L.range?0:1,j=z.range?0:1;return V-j});let k=0;for(let L=1;LEditorSimpleWorker._diffLimit){g.push({range:L,text:z});continue}const ie=stringDiff(j,z,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:z.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 z=this._getModel(L);if(z){for(const V of z.words(y))if(!(V===t||!isNaN(Number(V)))&&(k.add(V),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))):new Promise((k,L)=>{const z=V=>{this._foreignModule=V.create(y,t),k(getAllMethodNames(this._foreignModule))};{const V=FileAccess.asBrowserUri("".concat(e,".js")).toString(!0);__vitePreload(()=>import("".concat(V)),[]).then(z).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());const ITextResourceConfigurationService=createDecorator("textResourceConfigurationService"),ITextResourcePropertiesService=createDecorator("textResourcePropertiesService"),ILanguageFeaturesService=createDecorator("ILanguageFeaturesService");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)}};const 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,y){super(),this._languageConfigurationService=g,this._modelService=t,this._workerManager=this._register(new WorkerManager(e,this._modelService)),this._logService=r,this._register(y.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(k,L)=>{if(!canSyncModel(this._modelService,k.uri))return Promise.resolve({links:[]});const V=await(await this._workerWithResources([k.uri])).$computeLinks(k.uri.toString());return V&&{links:V}}})),this._register(y.completionProvider.register("*",new WordBasedCompletionItemProvider(this._workerManager,i,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return canSyncModel(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(z=>new MovedText(new LineRangeMapping(new LineRange$1(z[0],z[1]),new LineRange$1(z[2],z[3])),L(z[4])))};function L(z){return z.map(V=>{var j;return new DetailedLineRangeMapping(new LineRange$1(V[0],V[1]),new LineRange$1(V[2],V[3]),(j=V[4])==null?void 0:j.map(ie=>new RangeMapping(new Range$2(ie[0],ie[1],ie[2],ie[3]),new Range$2(ie[4],ie[5],ie[6],ie[7]))))})}}async computeMoreMinimalEdits(e,t,i=!1){if(isNonEmptyArray(t)){if(!canSyncModel(this._modelService,e))return Promise.resolve(t);const r=StopWatch.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(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return canSyncModel(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(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=__decorate$2D([__param$2t(1,IModelService),__param$2t(2,ITextResourceConfigurationService),__param$2t(3,ILogService),__param$2t(4,ILanguageConfigurationService),__param$2t(5,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),V=await(await this._workerManager.withWorker()).textualSuggest(r,y==null?void 0:y.word,g);if(V)return{duration:V.duration,suggestions:V.words.map(j=>({kind:18,label:j,insertText:j,range:{insert:L,replace:k}}))}}}let WorkerManager=class extends Disposable{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,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._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};WorkerManager=__decorate$2D([__param$2t(1,IModelService)],WorkerManager);class SynchronousWorkerClient{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw new Error("Not supported")}}let EditorWorkerClient=class extends Disposable{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$2(this._workerDescriptor)),EditorWorkerHost.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){logOnceWebWorkerWarning(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(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new SynchronousWorkerClient(new EditorSimpleWorker(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());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=__decorate$2D([__param$2t(2,IModelService)],EditorWorkerClient);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 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$4={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$4.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(){}}var __decorate$2C=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<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)}};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$2C([__param$2s(0,IThemeService)],AbstractCodeEditorService);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 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$2B([__param$2r(0,IContextKeyService),__param$2r(1,IThemeService)],StandaloneCodeEditorService);registerSingleton(ICodeEditorService,StandaloneCodeEditorService,0);const ILayoutService=createDecorator("layoutService");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)}};let StandaloneLayoutService=class{get mainContainer(){var e,t;return(t=(e=firstOrDefault(this._codeEditorService.listCodeEditors()))==null?void 0:e.getContainerDomNode())!=null?t:mainWindow.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(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.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$2A([__param$2q(0,ICodeEditorService)],StandaloneLayoutService);let EditorScopedLayoutService=class extends StandaloneLayoutService{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};EditorScopedLayoutService=__decorate$2A([__param$2q(1,ICodeEditorService)],EditorScopedLayoutService);registerSingleton(ILayoutService,StandaloneLayoutService,1);var Severity$1;(function(n){n[n.Ignore=0]="Ignore",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error"})(Severity$1||(Severity$1={}));(function(n){const e="error",t="warning",i="warn",r="info",g="ignore";function y(L){return L?equalsIgnoreCase(e,L)?n.Error:equalsIgnoreCase(t,L)||equalsIgnoreCase(i,L)?n.Warning:equalsIgnoreCase(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$1||(Severity$1={}));const Severity$2=Severity$1,IDialogService=createDecorator("dialogService");var Severity=Severity$2;const INotificationService=createDecorator("notificationService");class NoOpNotification{}const IUndoRedoService=createDecorator("undoRedoService");class ResourceEditStackSnapshot{constructor(e,t){this.resource=e,this.elements=t}}const ps=class ps{constructor(){this.id=ps._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}};ps._ID=0,ps.None=new ps;let UndoRedoGroup=ps;const ms=class ms{constructor(){this.id=ms._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}};ms._ID=0,ms.None=new ms;let UndoRedoSource=ms;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)}};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({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({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)}}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||z.id!==e.elements[r])&&(i=!1,g=0),!i&&z.type===1&&z.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({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({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({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({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({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(V){V[V.All=0]="All",V[V.This=1]="This",V[V.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({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({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 z=this._checkWorkspaceUndo(e,t,i,!1);if(z)return z.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({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([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({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&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({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({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({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({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([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$2o=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 z,V,j;const r=(z=i==null?void 0:i.min)!=null?z:50,g=(V=i==null?void 0:i.max)!=null?V:r**2,y=(j=i==null?void 0:i.key)!=null?j:void 0,k="".concat(IdentityHash.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(r*1.5)):L=new FeatureDebounceInformation(this._logService,t,e,this._overallAverage()|0||r*1.5,r,g),this._data.set(k,L)),L}_overallAverage(){const e=new MovingAverage;for(const t of this._data.values())e.update(t.default());return e.value}};LanguageFeatureDebounceService=__decorate$2y([__param$2o(0,ILogService),__param$2o(1,IEnvironmentService)],LanguageFeatureDebounceService);registerSingleton(ILanguageFeatureDebounceService,LanguageFeatureDebounceService,1);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)}}}function countEOL(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$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{V=!0;continue}else if(oeg)oe=t,re=i,ae=re+(ae-g);else{V=!0;continue}else if(oe>r){if(L===0&&!V){z=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*z;y[de]=oe,y[de+1]=re,y[de+2]=ae,y[de+3]=le,z++}this._tokenCount=z}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,z=this._tokenCount;for(let V=0;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$2n=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;else{let k=this._legend.tokenTypes[e];const L=[];if(k){let z=t;for(let j=0;z>0&&j>1;const V=this._themeService.getColorTheme().getTokenStyleMetadata(k,L,i);if(typeof V>"u")y=2147483647;else{if(y=0,typeof V.italic<"u"){const j=(V.italic?1:0)<<11;y|=j|1}if(typeof V.bold<"u"){const j=(V.bold?2:0)<<11;y|=j|2}if(typeof V.underline<"u"){const j=(V.underline?4:0)<<11;y|=j|4}if(typeof V.strikethrough<"u"){const j=(V.strikethrough?8:0)<<11;y|=j|8}if(V.foreground){const j=V.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=__decorate$2x([__param$2n(1,IThemeService),__param$2n(2,ILanguageService),__param$2n(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,z=0;for(;kV&&i[5*ue]===0;)ue--;if(ue-1===V){let he=j;for(;he+1Ce)e.warnOverlappingSemanticTokens(_e,Ce+1);else{const Oe=e.getMetadata(Ne,$e,t);Oe!==2147483647&&(re===0&&(re=_e),ie[oe]=_e-re,ie[oe+1]=Ce,ie[oe+2]=Ie,ie[oe+3]=Oe,oe+=4,ae=_e,le=Ie)}L=_e,z=Ce,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}}const Eo=class Eo{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=Eo._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const g=this._elements;this._currentLengthIndex++,this._currentLength=Eo._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$2m=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$2w([__param$2m(0,IThemeService),__param$2m(1,ILogService),__param$2m(2,ILanguageService)],SemanticTokensStylingService);registerSingleton(ISemanticTokensStylingService,SemanticTokensStylingService,1);function isPathSeparator(n){return n===47||n===92}function toSlashes(n){return n.replace(/[\\/]/g,posix.sep)}function toPosixPath(n){return n.indexOf("/")===-1&&(n=toSlashes(n)),/^[a-zA-Z]:(\/|$)/.test(n)&&(n="/"+n),n}function getRoot(n,e=posix.sep){if(!n)return"";const t=n.length,i=n.charCodeAt(0);if(isPathSeparator(i)){if(isPathSeparator(n.charCodeAt(1))&&!isPathSeparator(n.charCodeAt(2))){let g=3;const y=g;for(;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}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,z="";for(const V of r){if(V!=="}"&&y){k+=V;continue}if(L&&(V!=="]"||!z)){let j;V==="-"?j=V:(V==="^"||V==="!")&&!z?j="^":V===GLOB_SPLIT?j="":j=escapeRegExpCharacters(V),z+=j;continue}switch(V){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+="["+z+"]",L=!1,z="";break}case"?":e+=NO_PATH_REGEX;continue;case"*":e+=starsToRegExp(1);continue;default:e+=escapeRegExpCharacters(V)}}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 z=0,V=t.length;z!!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,z){return typeof L=="string"&&(L===r||L.endsWith(g)||!i&&(L===n||L.endsWith(y)))?e:null}:k=function(L,z){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$6(n)(e,void 0,t)}function parse$6(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(V,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(V=>!!V.allBasenames);L&&(k.allBasenames=L.allBasenames);const z=t.reduce((V,j)=>j.allPaths?V.concat(j.allPaths):V,[]);return z.length&&(k.allPaths=z),k}const r=function(k,L,z){let V,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,z)=>{if(!z||!i(y,k))return null;const V=r.replace("$(basename)",()=>L),j=z(V);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 z=L.basenames;return z?k.concat(z):k},[]);let r;if(e){r=[];for(let k=0,L=i.length;k{const z=L.patterns;return z?k.concat(z):k},[]);const g=function(k,L){if(typeof k!="string")return null;if(!L){let V;for(V=k.length;V>0;V--){const j=k.charCodeAt(V-1);if(j===47||j===92)break}L=k.substr(V)}const z=i.indexOf(L);return z!==-1?r[z]: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:z,notebookType:V}=n;if(!i&&!z)return 0;V&&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(V)if(V===g)j=10;else if(V==="*"&&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,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}}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,!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(e.uri,e.getLanguageId(),i.uri,i.type,t):new MatchCandidate(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(k.selector,r.uri,r.languageId,shouldSynchronizeModel(e),r.notebookUri,r.notebookType),isExclusive(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(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.documentDropEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentPasteEditProvider=new LanguageFeatureRegistry(this._score.bind(this))}_score(e){var t;return(t=this._notebookTypeResolver)==null?void 0:t.call(this,e)}}registerSingleton(ILanguageFeaturesService,LanguageFeaturesService,1);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,")")}function isColorDefaults(n){return n!==null&&typeof n=="object"&&"light"in n&&"dark"in n}const Extensions$3={ColorContribution:"base.contributions.colors"},DEFAULT_COLOR_CONFIG_VALUE="default";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",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("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("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(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$3.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?void 0:t.darken(n.factor);case 1:return(i=resolveColorValue(n.value,e))==null?void 0:i.lighten(n.factor);case 2:return(r=resolveColorValue(n.value,e))==null?void 0:r.transparent(n.factor);case 3:{const y=resolveColorValue(n.background,e);return y?(g=resolveColorValue(n.value,e))==null?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",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",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",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",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",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",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",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",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",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 editorFindMatchForeground=registerColor("editor.findMatchForeground",null,localize("editorFindMatchForeground","Text color of the current search match.")),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),editorFindMatchHighlightForeground=registerColor("editor.findMatchHighlightForeground",null,localize("findMatchHighlightForeground","Foreground color of the other search matches."),!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",editorWidgetBackground,localize("hoverBackground","Background color of the editor hover."));registerColor("editorHoverWidget.foreground",editorWidgetForeground,localize("hoverForeground","Foreground color of the editor hover."));const editorHoverBorder=registerColor("editorHoverWidget.border",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",editorInlayHintForeground,localize("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),editorInlayHintTypeBackground=registerColor("editorInlayHint.typeBackground",editorInlayHintBackground,localize("editorInlayHintBackgroundTypes","Background color of inline hints for types")),editorInlayHintParameterForeground=registerColor("editorInlayHint.parameterForeground",editorInlayHintForeground,localize("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),editorInlayHintParameterBackground=registerColor("editorInlayHint.parameterBackground",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",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",null,localize("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop."));registerColor("editor.snippetFinalTabstopHighlightBackground",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",null,localize("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted."));registerColor("diffEditorGutter.removedLineBackground",null,localize("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const diffOverviewRulerInserted=registerColor("diffEditorOverview.insertedForeground",null,localize("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),diffOverviewRulerRemoved=registerColor("diffEditorOverview.removedForeground",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","sideBar.background",localize("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor."));registerColor("diffEditor.unchangedRegionForeground","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",transparent(foreground,.8),localize("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsBackground=registerColor("breadcrumb.background",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",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",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",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",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:"#AB5A00"},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","#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",editorErrorForeground,localize("problemsErrorIconForeground","The color used for the problems error icon.")),problemsWarningIconForeground=registerColor("problemsWarningIcon.foreground",editorWarningForeground,localize("problemsWarningIconForeground","The color used for the problems warning icon.")),problemsInfoIconForeground=registerColor("problemsInfoIcon.foreground",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",null,localize("minimapBackground","Minimap background color.")),minimapForegroundOpacity=registerColor("minimap.foregroundOpacity",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",transparent(scrollbarSliderBackground,.5),localize("minimapSliderBackground","Minimap slider background color."));registerColor("minimapSlider.hoverBackground",transparent(scrollbarSliderHoverBackground,.5),localize("minimapSliderHoverBackground","Minimap slider background color when hovering."));registerColor("minimapSlider.activeBackground",transparent(scrollbarSliderActiveBackground,.5),localize("minimapSliderActiveBackground","Minimap slider background color when clicked on."));registerColor("charts.foreground",foreground,localize("chartsForeground","The foreground color used in charts."));registerColor("charts.lines",transparent(foreground,.5),localize("chartsLines","The color used for horizontal lines in charts."));registerColor("charts.red",editorErrorForeground,localize("chartsRed","The red color used in chart visualizations."));registerColor("charts.blue",editorInfoForeground,localize("chartsBlue","The blue color used in chart visualizations."));registerColor("charts.yellow",editorWarningForeground,localize("chartsYellow","The yellow color used in chart visualizations."));registerColor("charts.orange",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",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.")),inputActiveOptionHoverBackground=registerColor("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},localize("inputOption.hoverBackground","Background color of activated options in input fields.")),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",Color$1.white,localize("buttonForeground","Button foreground color.")),buttonSeparator=registerColor("button.separator",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",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.")),radioActiveForeground=registerColor("radio.activeForeground",inputActiveOptionForeground,localize("radioActiveForeground","Foreground color of active radio option.")),radioActiveBackground=registerColor("radio.activeBackground",inputActiveOptionBackground,localize("radioBackground","Background color of active radio option.")),radioActiveBorder=registerColor("radio.activeBorder",inputActiveOptionBorder,localize("radioActiveBorder","Border color of the active radio option.")),radioInactiveForeground=registerColor("radio.inactiveForeground",null,localize("radioInactiveForeground","Foreground color of inactive radio option.")),radioInactiveBackground=registerColor("radio.inactiveBackground",null,localize("radioInactiveBackground","Background color of inactive radio option.")),radioInactiveBorder=registerColor("radio.inactiveBorder",{light:transparent(radioActiveForeground,.2),dark:transparent(radioActiveForeground,.2),hcDark:transparent(radioActiveForeground,.4),hcLight:transparent(radioActiveForeground,.2)},localize("radioInactiveBorder","Border color of the inactive radio option.")),radioInactiveHoverBackground=registerColor("radio.inactiveHoverBackground",inputActiveOptionHoverBackground,localize("radioHoverBackground","Background color of inactive active radio option when hovering.")),checkboxBackground=registerColor("checkbox.background",selectBackground,localize("checkbox.background","Background color of checkbox widget."));registerColor("checkbox.selectBackground",editorWidgetBackground,localize("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const checkboxForeground=registerColor("checkbox.foreground",selectForeground,localize("checkbox.foreground","Foreground color of checkbox widget.")),checkboxBorder=registerColor("checkbox.border",selectBorder,localize("checkbox.border","Border color of checkbox widget."));registerColor("checkbox.selectBorder",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",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",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",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",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",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",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",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",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",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",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",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."));registerColor("editorActionList.background",editorWidgetBackground,localize("editorActionListBackground","Action List background color."));registerColor("editorActionList.foreground",editorWidgetForeground,localize("editorActionListForeground","Action List foreground color."));registerColor("editorActionList.focusForeground",listActiveSelectionForeground,localize("editorActionListFocusForeground","Action List foreground color for the focused item."));registerColor("editorActionList.focusBackground",listActiveSelectionBackground,localize("editorActionListFocusBackground","Action List background color for the focused item."));const menuBorder=registerColor("menu.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("menuBorder","Border color of menus.")),menuForeground=registerColor("menu.foreground",selectForeground,localize("menuForeground","Foreground color of menu items.")),menuBackground=registerColor("menu.background",selectBackground,localize("menuBackground","Background color of menu items.")),menuSelectionForeground=registerColor("menu.selectionForeground",listActiveSelectionForeground,localize("menuSelectionForeground","Foreground color of the selected menu item in menus.")),menuSelectionBackground=registerColor("menu.selectionBackground",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",editorWidgetBackground,localize("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),quickInputForeground=registerColor("quickInput.foreground",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",null,"",void 0,localize("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),quickInputListFocusForeground=registerColor("quickInputList.focusForeground",listActiveSelectionForeground,localize("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),quickInputListFocusIconForeground=registerColor("quickInputList.focusIconForeground",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."));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)}};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=isHTMLElement$1(e.target)?[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=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$2(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 memoize$1(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$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},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={}));const Pn=class Pn 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(!Pn.isTouchDevice())return Disposable.None;Pn.INSTANCE||(Pn.INSTANCE=new Pn);const t=Pn.INSTANCE.targets.push(e);return toDisposable(t)}static ignoreTarget(e){if(!Pn.isTouchDevice())return Disposable.None;Pn.INSTANCE||(Pn.INSTANCE=new Pn);const t=Pn.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=Pn.HOLD_DELAY&&Math.abs(L.initialPageX-tail(L.rollingPageX))<30&&Math.abs(L.initialPageY-tail(L.rollingPageY))<30){const V=this.newGestureEvent(EventType.Contextmenu,L.initialTarget);V.pageX=tail(L.rollingPageX),V.pageY=tail(L.rollingPageY),this.dispatchEvent(V)}else if(r===1){const V=tail(L.rollingPageX),j=tail(L.rollingPageY),ie=tail(L.rollingTimestamps)-L.rollingTimestamps[0],oe=V-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,V,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>Pn.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,z){this.handle=scheduleAtNextAnimationFrame(e,()=>{const V=Date.now(),j=V-i;let ie=0,oe=0,re=!0;r+=Pn.SCROLL_FRICTION*j,k+=Pn.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,V,r,g,y+ie,k,L,z+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)}};Pn.SCROLL_FRICTION=-.005,Pn.HOLD_DELAY=700,Pn.CLEAR_TAP_COUNT_TIME=400;let Gesture=Pn;__decorate$2u([memoize$1],Gesture,"isTouchDevice",null);let Widget$1=class extends Disposable{onclick(e,t){this._register(addDisposableListener(e,EventType$1.CLICK,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onmousedown(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_DOWN,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onmouseover(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_OVER,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onmouseleave(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_LEAVE,i=>t(new StandardMouseEvent(getWindow$2(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$2(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.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$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 z=this._sliderPointerPosition(g)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(z))},()=>{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 z=Math.round(Math.max(MINIMUM_SLIDER_SIZE,Math.floor(i*k/r))),V=(k-z)/(r-i),j=g*V;return{computedAvailableSize:Math.round(y),computedIsNeeded:L,computedSliderSize:Math.round(z),computedSliderRatio:V,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 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(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),z=Math.max(Math.min(g,k),1),V=Math.max(r,y),j=Math.max(g,k);V%L===0&&j%z===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};Ta.INSTANCE=new Ta;let MouseWheelClassifier=Ta;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 g;if((g=e.browserEvent)!=null&&g.defaultPrevented)return;const t=MouseWheelClassifier.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&&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 z=this._scrollable.getFutureScrollPosition();let V={};if(y){const j=SCROLL_WHEEL_SENSITIVITY*y,ie=z.scrollTop-(j<0?Math.floor(j):Math.ceil(j));this._verticalScrollbar.writeScrollPosition(V,ie)}if(k){const j=SCROLL_WHEEL_SENSITIVITY*k,ie=z.scrollLeft-(j<0?Math.floor(j):Math.ceil(j));this._horizontalScrollbar.writeScrollPosition(V,ie)}V=this._scrollable.validateScrollPosition(V),(z.scrollLeft!==V.scrollLeft||z.scrollTop!==V.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(V):this._scrollable.setScrollPositionNow(V),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)}}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$2(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$2(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}const $$e=$$f;let HoverWidget$1=class extends Disposable{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(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}};class HoverAction extends Disposable{static render(e,t,i){return new HoverAction(e,t,i)}constructor(e,t,i){super(),this.actionLabel=t.label,this.actionKeybindingLabel=i,this.actionContainer=append$2(e,$$e("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=append$2(this.actionContainer,$$e("a.action")),this.action.setAttribute("role","button"),t.iconClass&&append$2(this.action,$$e("span.icon.".concat(t.iconClass)));const r=append$2(this.action,$$e("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(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."):""}class ClickAction extends Disposable{constructor(e,t){super(),this._register(addDisposableListener(e,EventType$1.CLICK,i=>{i.stopPropagation(),i.preventDefault(),t(e)}))}}class KeyDownAction extends Disposable{constructor(e,t,i){super(),this._register(addDisposableListener(e,EventType$1.KEY_DOWN,r=>{const g=new StandardKeyboardEvent(r);i.some(y=>g.equals(y))&&(r.stopPropagation(),r.preventDefault(),t(e))}))}}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}}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()}}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 z=formatTagType(k,e);if(r.type===z||r.type===5&&z===6)r=g.pop();else{const V={type:z,children:[]};z===5&&(V.index=i,i++),r.children.push(V),g.push(r),r=V}}else if(k==="\n")r.type===2&&(r=g.pop()),r.children.push({type:8});else if(r.type!==2){const z={type:2,content:k};r.children.push(z),g.push(r),r=z}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$4(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$4(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 z=1,V=1,j=t,ie=g;const oe=[!1];for(z=1,j=t;jue,Ne=Ie?_table[z][V-1]+(_diag[z][V-1]>0?-5:0):0,$e=ie>ue+1&&_diag[z][V-1]>0,Oe=$e?_table[z][V-2]+(_diag[z][V-2]>0?-5:0):0;if($e&&(!Ie||Oe>=Ne)&&(!Ce||Oe>=xe))_table[z][V]=Oe,_arrows[z][V]=3,_diag[z][V]=0;else if(Ie&&(!Ce||Ne>=xe))_table[z][V]=Ne,_arrows[z][V]=2,_diag[z][V]=0;else if(Ce)_table[z][V]=xe,_arrows[z][V]=1,_diag[z][V]=_diag[z-1][V-1]+1;else throw new Error("not possible")}}if(!oe[0]&&!y.firstMatchCanBeWeak)return;z--,V--;const re=[_table[z][V],g];let ae=0,le=0;for(;z>=1;){let ue=V;do{const he=_arrows[z][ue];if(he===3)ue=ue-2;else if(he===2)ue=ue-1;else break}while(ue>=1);ae>1&&e[t+z-1]===r[g+V-1]&&!isUpperCaseAtPos(ue+g-1,i,r)&&ae+1>_diag[z][ue]&&(ue=V),ue===V?ae++:ae=1,le||(le=ue),z--,V=ue-1,re.push(V)}L-g===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,z,V){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&&(V[0]=!0),ie||(ie=isUpperCaseAtPos(y,r,g)||isSeparatorAtPos(g,y-1)||isWhitespaceAtPos(g,y-1)),t===i?y>L&&(j-=ie?3:5):z?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 z=Math.min(7,n.length-1);for(let V=t+1;VL[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;kgetRoot(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$1=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={}));class MarkdownString{constructor(e="",t=!1){var i,r,g;if(this.value=e,typeof this.value!="string")throw illegalArgument("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(this.supportThemeIcons?escapeIcons(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(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$1(URI.from(n.baseUri),URI.from(e.baseUri)))}function escapeMarkdownSyntaxTokens(n){return n.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function appendEscapedMarkdownCodeBlockFence(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(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)),z=isFinite(parseInt(y));L&&e.push('width="'.concat(k,'"')),z&&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(){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(Ri){e.defaults=Ri}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={"&":"&","<":"<",">":">",'"':""","'":"'"},z=Ri=>L[Ri];function V(Ri,li){if(li){if(r.test(Ri))return Ri.replace(g,z)}else if(y.test(Ri))return Ri.replace(k,z);return Ri}const j=/(^|[^\[])\^/g;function ie(Ri,li){let ai=typeof Ri=="string"?Ri:Ri.source;li=li||"";const vi={replace:(wi,ki)=>{let $i=typeof ki=="string"?ki:ki.source;return $i=$i.replace(j,"$1"),ai=ai.replace(wi,$i),vi},getRegex:()=>new RegExp(ai,li)};return vi}function oe(Ri){try{Ri=encodeURI(Ri).replace(/%25/g,"%")}catch(li){return null}return Ri}const re={exec:()=>null};function ae(Ri,li){const ai=Ri.replace(/\|/g,(ki,$i,Oi)=>{let Wi=!1,Gi=$i;for(;--Gi>=0&&Oi[Gi]==="\\";)Wi=!Wi;return Wi?"|":" |"}),vi=ai.split(/ \|/);let wi=0;if(vi[0].trim()||vi.shift(),vi.length>0&&!vi[vi.length-1].trim()&&vi.pop(),li)if(vi.length>li)vi.splice(li);else for(;vi.length{const ki=wi.match(/^\s+/);if(ki===null)return wi;const[$i]=ki;return $i.length>=vi.length?wi.slice(vi.length):wi}).join("\n")}class pe{constructor(li){Ci(this,"options");Ci(this,"rules");Ci(this,"lexer");this.options=li||e.defaults}space(li){const ai=this.rules.block.newline.exec(li);if(ai&&ai[0].length>0)return{type:"space",raw:ai[0]}}code(li){const ai=this.rules.block.code.exec(li);if(ai){const vi=ai[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ai[0],codeBlockStyle:"indented",text:this.options.pedantic?vi:le(vi,"\n")}}}fences(li){const ai=this.rules.block.fences.exec(li);if(ai){const vi=ai[0],wi=he(vi,ai[3]||"");return{type:"code",raw:vi,lang:ai[2]?ai[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):ai[2],text:wi}}}heading(li){const ai=this.rules.block.heading.exec(li);if(ai){let vi=ai[2].trim();if(/#$/.test(vi)){const wi=le(vi,"#");(this.options.pedantic||!wi||/ $/.test(wi))&&(vi=wi.trim())}return{type:"heading",raw:ai[0],depth:ai[1].length,text:vi,tokens:this.lexer.inline(vi)}}}hr(li){const ai=this.rules.block.hr.exec(li);if(ai)return{type:"hr",raw:le(ai[0],"\n")}}blockquote(li){const ai=this.rules.block.blockquote.exec(li);if(ai){let vi=le(ai[0],"\n").split("\n"),wi="",ki="";const $i=[];for(;vi.length>0;){let Oi=!1;const Wi=[];let Gi;for(Gi=0;Gi/.test(vi[Gi]))Wi.push(vi[Gi]),Oi=!0;else if(!Oi)Wi.push(vi[Gi]);else break;vi=vi.slice(Gi);const _n=Wi.join("\n"),Cn=_n.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");wi=wi?"".concat(wi,"\n").concat(_n):_n,ki=ki?"".concat(ki,"\n").concat(Cn):Cn;const Di=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(Cn,$i,!0),this.lexer.state.top=Di,vi.length===0)break;const Fi=$i[$i.length-1];if((Fi==null?void 0:Fi.type)==="code")break;if((Fi==null?void 0:Fi.type)==="blockquote"){const Zi=Fi,Tn=Zi.raw+"\n"+vi.join("\n"),Dn=this.blockquote(Tn);$i[$i.length-1]=Dn,wi=wi.substring(0,wi.length-Zi.raw.length)+Dn.raw,ki=ki.substring(0,ki.length-Zi.text.length)+Dn.text;break}else if((Fi==null?void 0:Fi.type)==="list"){const Zi=Fi,Tn=Zi.raw+"\n"+vi.join("\n"),Dn=this.list(Tn);$i[$i.length-1]=Dn,wi=wi.substring(0,wi.length-Fi.raw.length)+Dn.raw,ki=ki.substring(0,ki.length-Zi.raw.length)+Dn.raw,vi=Tn.substring($i[$i.length-1].raw.length).split("\n");continue}}return{type:"blockquote",raw:wi,tokens:$i,text:ki}}}list(li){let ai=this.rules.block.list.exec(li);if(ai){let vi=ai[1].trim();const wi=vi.length>1,ki={type:"list",raw:"",ordered:wi,start:wi?+vi.slice(0,-1):"",loose:!1,items:[]};vi=wi?"\\d{1,9}\\".concat(vi.slice(-1)):"\\".concat(vi),this.options.pedantic&&(vi=wi?vi:"[*+-]");const $i=new RegExp("^( {0,3}".concat(vi,")((?:[ ][^\\n]*)?(?:\\n|$))"));let Oi=!1;for(;li;){let Wi=!1,Gi="",_n="";if(!(ai=$i.exec(li))||this.rules.block.hr.test(li))break;Gi=ai[0],li=li.substring(Gi.length);let Cn=ai[2].split("\n",1)[0].replace(/^\t+/,Zn=>" ".repeat(3*Zn.length)),Di=li.split("\n",1)[0],Fi=!Cn.trim(),Zi=0;if(this.options.pedantic?(Zi=2,_n=Cn.trimStart()):Fi?Zi=ai[1].length+1:(Zi=ai[2].search(/[^ ]/),Zi=Zi>4?1:Zi,_n=Cn.slice(Zi),Zi+=ai[1].length),Fi&&/^ *$/.test(Di)&&(Gi+=Di+"\n",li=li.substring(Di.length+1),Wi=!0),!Wi){const Zn=new RegExp("^ {0,".concat(Math.min(3,Zi-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))")),Qi=new RegExp("^ {0,".concat(Math.min(3,Zi-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),Ii=new RegExp("^ {0,".concat(Math.min(3,Zi-1),"}(?:```|~~~)")),Ki=new RegExp("^ {0,".concat(Math.min(3,Zi-1),"}#"));for(;li;){const Ji=li.split("\n",1)[0];if(Di=Ji,this.options.pedantic&&(Di=Di.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),Ii.test(Di)||Ki.test(Di)||Zn.test(Di)||Qi.test(li))break;if(Di.search(/[^ ]/)>=Zi||!Di.trim())_n+="\n"+Di.slice(Zi);else{if(Fi||Cn.search(/[^ ]/)>=4||Ii.test(Cn)||Ki.test(Cn)||Qi.test(Cn))break;_n+="\n"+Di}!Fi&&!Di.trim()&&(Fi=!0),Gi+=Ji+"\n",li=li.substring(Ji.length+1),Cn=Di.slice(Zi)}}ki.loose||(Oi?ki.loose=!0:/\n *\n *$/.test(Gi)&&(Oi=!0));let Tn=null,Dn;this.options.gfm&&(Tn=/^\[[ xX]\] /.exec(_n),Tn&&(Dn=Tn[0]!=="[ ] ",_n=_n.replace(/^\[[ xX]\] +/,""))),ki.items.push({type:"list_item",raw:Gi,task:!!Tn,checked:Dn,loose:!1,text:_n,tokens:[]}),ki.raw+=Gi}ki.items[ki.items.length-1].raw=ki.items[ki.items.length-1].raw.trimEnd(),ki.items[ki.items.length-1].text=ki.items[ki.items.length-1].text.trimEnd(),ki.raw=ki.raw.trimEnd();for(let Wi=0;WiCn.type==="space"),_n=Gi.length>0&&Gi.some(Cn=>/\n.*\n/.test(Cn.raw));ki.loose=_n}if(ki.loose)for(let Wi=0;Wi$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",ki=ai[3]?ai[3].substring(1,ai[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):ai[3];return{type:"def",tag:vi,raw:ai[0],href:wi,title:ki}}}table(li){const ai=this.rules.block.table.exec(li);if(!ai||!/[:|]/.test(ai[2]))return;const vi=ae(ai[1]),wi=ai[2].replace(/^\||\| *$/g,"").split("|"),ki=ai[3]&&ai[3].trim()?ai[3].replace(/\n[ \t]*$/,"").split("\n"):[],$i={type:"table",raw:ai[0],header:[],align:[],rows:[]};if(vi.length===wi.length){for(const Oi of wi)/^ *-+: *$/.test(Oi)?$i.align.push("right"):/^ *:-+: *$/.test(Oi)?$i.align.push("center"):/^ *:-+ *$/.test(Oi)?$i.align.push("left"):$i.align.push(null);for(let Oi=0;Oi({text:Wi,tokens:this.lexer.inline(Wi),header:!1,align:$i.align[Gi]})));return $i}}lheading(li){const ai=this.rules.block.lheading.exec(li);if(ai)return{type:"heading",raw:ai[0],depth:ai[2].charAt(0)==="="?1:2,text:ai[1],tokens:this.lexer.inline(ai[1])}}paragraph(li){const ai=this.rules.block.paragraph.exec(li);if(ai){const vi=ai[1].charAt(ai[1].length-1)==="\n"?ai[1].slice(0,-1):ai[1];return{type:"paragraph",raw:ai[0],text:vi,tokens:this.lexer.inline(vi)}}}text(li){const ai=this.rules.block.text.exec(li);if(ai)return{type:"text",raw:ai[0],text:ai[0],tokens:this.lexer.inline(ai[0])}}escape(li){const ai=this.rules.inline.escape.exec(li);if(ai)return{type:"escape",raw:ai[0],text:V(ai[1])}}tag(li){const ai=this.rules.inline.tag.exec(li);if(ai)return!this.lexer.state.inLink&&/^/i.test(ai[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(ai[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ai[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:ai[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:ai[0]}}link(li){const ai=this.rules.inline.link.exec(li);if(ai){const vi=ai[2].trim();if(!this.options.pedantic&&/^$/.test(vi))return;const $i=le(vi.slice(0,-1),"\\");if((vi.length-$i.length)%2===0)return}else{const $i=de(ai[2],"()");if($i>-1){const Wi=(ai[0].indexOf("!")===0?5:4)+ai[1].length+$i;ai[2]=ai[2].substring(0,$i),ai[0]=ai[0].substring(0,Wi).trim(),ai[3]=""}}let wi=ai[2],ki="";if(this.options.pedantic){const $i=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(wi);$i&&(wi=$i[1],ki=$i[3])}else ki=ai[3]?ai[3].slice(1,-1):"";return wi=wi.trim(),/^$/.test(vi)?wi=wi.slice(1):wi=wi.slice(1,-1)),ue(ai,{href:wi&&wi.replace(this.rules.inline.anyPunctuation,"$1"),title:ki&&ki.replace(this.rules.inline.anyPunctuation,"$1")},ai[0],this.lexer)}}reflink(li,ai){let vi;if((vi=this.rules.inline.reflink.exec(li))||(vi=this.rules.inline.nolink.exec(li))){const wi=(vi[2]||vi[1]).replace(/\s+/g," "),ki=ai[wi.toLowerCase()];if(!ki){const $i=vi[0].charAt(0);return{type:"text",raw:$i,text:$i}}return ue(vi,ki,vi[0],this.lexer)}}emStrong(li,ai,vi=""){let wi=this.rules.inline.emStrongLDelim.exec(li);if(!wi||wi[3]&&vi.match(/[\p{L}\p{N}]/u))return;if(!(wi[1]||wi[2]||"")||!vi||this.rules.inline.punctuation.exec(vi)){const $i=[...wi[0]].length-1;let Oi,Wi,Gi=$i,_n=0;const Cn=wi[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(Cn.lastIndex=0,ai=ai.slice(-1*li.length+$i);(wi=Cn.exec(ai))!=null;){if(Oi=wi[1]||wi[2]||wi[3]||wi[4]||wi[5]||wi[6],!Oi)continue;if(Wi=[...Oi].length,wi[3]||wi[4]){Gi+=Wi;continue}else if((wi[5]||wi[6])&&$i%3&&!(($i+Wi)%3)){_n+=Wi;continue}if(Gi-=Wi,Gi>0)continue;Wi=Math.min(Wi,Wi+Gi+_n);const Di=[...wi[0]][0].length,Fi=li.slice(0,$i+wi.index+Di+Wi);if(Math.min($i,Wi)%2){const Tn=Fi.slice(1,-1);return{type:"em",raw:Fi,text:Tn,tokens:this.lexer.inlineTokens(Tn)}}const Zi=Fi.slice(2,-2);return{type:"strong",raw:Fi,text:Zi,tokens:this.lexer.inlineTokens(Zi)}}}}codespan(li){const ai=this.rules.inline.code.exec(li);if(ai){let vi=ai[2].replace(/\n/g," ");const wi=/[^ ]/.test(vi),ki=/^ /.test(vi)&&/ $/.test(vi);return wi&&ki&&(vi=vi.substring(1,vi.length-1)),vi=V(vi,!0),{type:"codespan",raw:ai[0],text:vi}}}br(li){const ai=this.rules.inline.br.exec(li);if(ai)return{type:"br",raw:ai[0]}}del(li){const ai=this.rules.inline.del.exec(li);if(ai)return{type:"del",raw:ai[0],text:ai[2],tokens:this.lexer.inlineTokens(ai[2])}}autolink(li){const ai=this.rules.inline.autolink.exec(li);if(ai){let vi,wi;return ai[2]==="@"?(vi=V(ai[1]),wi="mailto:"+vi):(vi=V(ai[1]),wi=vi),{type:"link",raw:ai[0],text:vi,href:wi,tokens:[{type:"text",raw:vi,text:vi}]}}}url(li){var vi,wi;let ai;if(ai=this.rules.inline.url.exec(li)){let ki,$i;if(ai[2]==="@")ki=V(ai[0]),$i="mailto:"+ki;else{let Oi;do Oi=ai[0],ai[0]=(wi=(vi=this.rules.inline._backpedal.exec(ai[0]))==null?void 0:vi[0])!=null?wi:"";while(Oi!==ai[0]);ki=V(ai[0]),ai[1]==="www."?$i="http://"+ai[0]:$i=ai[0]}return{type:"link",raw:ai[0],text:ki,href:$i,tokens:[{type:"text",raw:ki,text:ki}]}}}inlineText(li){const ai=this.rules.inline.text.exec(li);if(ai){let vi;return this.lexer.state.inRawBlock?vi=ai[0]:vi=V(ai[0]),{type:"text",raw:ai[0],text:vi}}}}const _e=/^(?: *(?:\n|$))+/,Ce=/^( {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+|$)/,$e=/(?:[*+-]|\d{1,9}[.)])/,Oe=ie(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,$e).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(),Fe=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Et=/^[^\n]+/,ze=/(?!\s*\])(?:\\.|[^\[\]\\])+/,qe=ie(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",ze).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ve=ie(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,$e).getRegex(),kt="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",Ue=/|$))/,Dt=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",Ue).replace("tag",kt).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),jt=ie(Fe).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",kt).getRegex(),ti={blockquote:ie(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",jt).getRegex(),code:Ce,def:qe,fences:xe,heading:Ne,hr:Ie,html:Dt,lheading:Oe,list:Ve,newline:_e,paragraph:jt,table:re,text:Et},hi=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",kt).getRegex(),ui={...ti,table:hi,paragraph:ie(Fe).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",hi).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",kt).getRegex()},mi={...ti,html:ie("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ue).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(Fe).replace("hr",Ie).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Oe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},pi=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ri=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,oi=/^( {2,}|\\)\n(?!\s*$)/,bi=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,fi=ie(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Ti).getRegex(),si=ie("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Ti).getRegex(),_i=ie("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Ti).getRegex(),Pt=ie(/\\([punct])/,"gu").replace(/punct/g,Ti).getRegex(),Lt=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(),At=ie(Ue).replace("(?:-->|$)","-->").getRegex(),ii=ie("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",At).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),gi=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,yi=ie(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",gi).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Li=ie(/^!?\[(label)\]\[(ref)\]/).replace("label",gi).replace("ref",ze).getRegex(),Pi=ie(/^!?\[(ref)\](?:\[\])?/).replace("ref",ze).getRegex(),xi=ie("reflink|nolink(?!\\()","g").replace("reflink",Li).replace("nolink",Pi).getRegex(),Ai={_backpedal:re,anyPunctuation:Pt,autolink:Lt,blockSkip:ni,br:oi,code:ri,del:re,emStrongLDelim:fi,emStrongRDelimAst:si,emStrongRDelimUnd:_i,escape:pi,link:yi,nolink:Pi,punctuation:Si,reflink:Li,reflinkSearch:xi,tag:ii,text:bi,url:re},Vi={...Ai,link:ie(/^!?\[(label)\]\((.*?)\)/).replace("label",gi).getRegex(),reflink:ie(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",gi).getRegex()},Hi={...Ai,escape:ie(pi).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]*?(?:(?=[\\Wi+" ".repeat(Gi.length));let wi,ki,$i;for(;li;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(Oi=>(wi=Oi.call({lexer:this},li,ai))?(li=li.substring(wi.raw.length),ai.push(wi),!0):!1))){if(wi=this.tokenizer.space(li)){li=li.substring(wi.raw.length),wi.raw.length===1&&ai.length>0?ai[ai.length-1].raw+="\n":ai.push(wi);continue}if(wi=this.tokenizer.code(li)){li=li.substring(wi.raw.length),ki=ai[ai.length-1],ki&&(ki.type==="paragraph"||ki.type==="text")?(ki.raw+="\n"+wi.raw,ki.text+="\n"+wi.text,this.inlineQueue[this.inlineQueue.length-1].src=ki.text):ai.push(wi);continue}if(wi=this.tokenizer.fences(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.heading(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.hr(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.blockquote(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.list(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.html(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.def(li)){li=li.substring(wi.raw.length),ki=ai[ai.length-1],ki&&(ki.type==="paragraph"||ki.type==="text")?(ki.raw+="\n"+wi.raw,ki.text+="\n"+wi.raw,this.inlineQueue[this.inlineQueue.length-1].src=ki.text):this.tokens.links[wi.tag]||(this.tokens.links[wi.tag]={href:wi.href,title:wi.title});continue}if(wi=this.tokenizer.table(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if(wi=this.tokenizer.lheading(li)){li=li.substring(wi.raw.length),ai.push(wi);continue}if($i=li,this.options.extensions&&this.options.extensions.startBlock){let Oi=1/0;const Wi=li.slice(1);let Gi;this.options.extensions.startBlock.forEach(_n=>{Gi=_n.call({lexer:this},Wi),typeof Gi=="number"&&Gi>=0&&(Oi=Math.min(Oi,Gi))}),Oi<1/0&&Oi>=0&&($i=li.substring(0,Oi+1))}if(this.state.top&&(wi=this.tokenizer.paragraph($i))){ki=ai[ai.length-1],vi&&(ki==null?void 0:ki.type)==="paragraph"?(ki.raw+="\n"+wi.raw,ki.text+="\n"+wi.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ki.text):ai.push(wi),vi=$i.length!==li.length,li=li.substring(wi.raw.length);continue}if(wi=this.tokenizer.text(li)){li=li.substring(wi.raw.length),ki=ai[ai.length-1],ki&&ki.type==="text"?(ki.raw+="\n"+wi.raw,ki.text+="\n"+wi.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ki.text):ai.push(wi);continue}if(li){const Oi="Infinite loop on byte: "+li.charCodeAt(0);if(this.options.silent){console.error(Oi);break}else throw new Error(Oi)}}return this.state.top=!0,ai}inline(li,ai=[]){return this.inlineQueue.push({src:li,tokens:ai}),ai}inlineTokens(li,ai=[]){let vi,wi,ki,$i=li,Oi,Wi,Gi;if(this.tokens.links){const _n=Object.keys(this.tokens.links);if(_n.length>0)for(;(Oi=this.tokenizer.rules.inline.reflinkSearch.exec($i))!=null;)_n.includes(Oi[0].slice(Oi[0].lastIndexOf("[")+1,-1))&&($i=$i.slice(0,Oi.index)+"["+"a".repeat(Oi[0].length-2)+"]"+$i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Oi=this.tokenizer.rules.inline.blockSkip.exec($i))!=null;)$i=$i.slice(0,Oi.index)+"["+"a".repeat(Oi[0].length-2)+"]"+$i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(Oi=this.tokenizer.rules.inline.anyPunctuation.exec($i))!=null;)$i=$i.slice(0,Oi.index)+"++"+$i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;li;)if(Wi||(Gi=""),Wi=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(_n=>(vi=_n.call({lexer:this},li,ai))?(li=li.substring(vi.raw.length),ai.push(vi),!0):!1))){if(vi=this.tokenizer.escape(li)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(vi=this.tokenizer.tag(li)){li=li.substring(vi.raw.length),wi=ai[ai.length-1],wi&&vi.type==="text"&&wi.type==="text"?(wi.raw+=vi.raw,wi.text+=vi.text):ai.push(vi);continue}if(vi=this.tokenizer.link(li)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(vi=this.tokenizer.reflink(li,this.tokens.links)){li=li.substring(vi.raw.length),wi=ai[ai.length-1],wi&&vi.type==="text"&&wi.type==="text"?(wi.raw+=vi.raw,wi.text+=vi.text):ai.push(vi);continue}if(vi=this.tokenizer.emStrong(li,$i,Gi)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(vi=this.tokenizer.codespan(li)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(vi=this.tokenizer.br(li)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(vi=this.tokenizer.del(li)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(vi=this.tokenizer.autolink(li)){li=li.substring(vi.raw.length),ai.push(vi);continue}if(!this.state.inLink&&(vi=this.tokenizer.url(li))){li=li.substring(vi.raw.length),ai.push(vi);continue}if(ki=li,this.options.extensions&&this.options.extensions.startInline){let _n=1/0;const Cn=li.slice(1);let Di;this.options.extensions.startInline.forEach(Fi=>{Di=Fi.call({lexer:this},Cn),typeof Di=="number"&&Di>=0&&(_n=Math.min(_n,Di))}),_n<1/0&&_n>=0&&(ki=li.substring(0,_n+1))}if(vi=this.tokenizer.inlineText(ki)){li=li.substring(vi.raw.length),vi.raw.slice(-1)!=="_"&&(Gi=vi.raw.slice(-1)),Wi=!0,wi=ai[ai.length-1],wi&&wi.type==="text"?(wi.raw+=vi.raw,wi.text+=vi.text):ai.push(vi);continue}if(li){const _n="Infinite loop on byte: "+li.charCodeAt(0);if(this.options.silent){console.error(_n);break}else throw new Error(_n)}}return ai}}class Yi{constructor(li){Ci(this,"options");Ci(this,"parser");this.options=li||e.defaults}space(li){return""}code({text:li,lang:ai,escaped:vi}){var $i;const wi=($i=(ai||"").match(/^\S*/))==null?void 0:$i[0],ki=li.replace(/\n$/,"")+"\n";return wi?'
'+(vi?ki:V(ki,!0))+"
\n":"
"+(vi?ki:V(ki,!0))+"
\n"}blockquote({tokens:li}){const ai=this.parser.parse(li);return"
\n".concat(ai,"
\n")}html({text:li}){return li}heading({tokens:li,depth:ai}){return"").concat(this.parser.parseInline(li),"\n")}hr(li){return"
\n"}list(li){const ai=li.ordered,vi=li.start;let wi="";for(let Oi=0;Oi\n"+wi+"\n"}listitem(li){let ai="";if(li.task){const vi=this.checkbox({checked:!!li.checked});li.loose?li.tokens.length>0&&li.tokens[0].type==="paragraph"?(li.tokens[0].text=vi+" "+li.tokens[0].text,li.tokens[0].tokens&&li.tokens[0].tokens.length>0&&li.tokens[0].tokens[0].type==="text"&&(li.tokens[0].tokens[0].text=vi+" "+li.tokens[0].tokens[0].text)):li.tokens.unshift({type:"text",raw:vi+" ",text:vi+" "}):ai+=vi+" "}return ai+=this.parser.parse(li.tokens,!!li.loose),"
  • ".concat(ai,"
  • \n")}checkbox({checked:li}){return"'}paragraph({tokens:li}){return"

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

    \n")}table(li){let ai="",vi="";for(let ki=0;ki")),"\n\n"+ai+"\n"+wi+"
    \n"}tablerow({text:li}){return"\n".concat(li,"\n")}tablecell(li){const ai=this.parser.parseInline(li.tokens),vi=li.header?"th":"td";return(li.align?"<".concat(vi,' align="').concat(li.align,'">'):"<".concat(vi,">"))+ai+"\n")}strong({tokens:li}){return"".concat(this.parser.parseInline(li),"")}em({tokens:li}){return"".concat(this.parser.parseInline(li),"")}codespan({text:li}){return"".concat(li,"")}br(li){return"
    "}del({tokens:li}){return"".concat(this.parser.parseInline(li),"")}link({href:li,title:ai,tokens:vi}){const wi=this.parser.parseInline(vi),ki=oe(li);if(ki===null)return wi;li=ki;let $i='
    ",$i}image({href:li,title:ai,text:vi}){const wi=oe(li);if(wi===null)return vi;li=wi;let ki='').concat(vi,'{const Gi=Oi[Wi].flat(1/0);vi=vi.concat(this.walkTokens(Gi,ai))}):Oi.tokens&&(vi=vi.concat(this.walkTokens(Oi.tokens,ai)))}}return vi}use(...li){const ai=this.defaults.extensions||{renderers:{},childTokens:{}};return li.forEach(vi=>{const wi={...vi};if(wi.async=this.defaults.async||wi.async||!1,vi.extensions&&(vi.extensions.forEach(ki=>{if(!ki.name)throw new Error("extension name required");if("renderer"in ki){const $i=ai.renderers[ki.name];$i?ai.renderers[ki.name]=function(...Oi){let Wi=ki.renderer.apply(this,Oi);return Wi===!1&&(Wi=$i.apply(this,Oi)),Wi}:ai.renderers[ki.name]=ki.renderer}if("tokenizer"in ki){if(!ki.level||ki.level!=="block"&&ki.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const $i=ai[ki.level];$i?$i.unshift(ki.tokenizer):ai[ki.level]=[ki.tokenizer],ki.start&&(ki.level==="block"?ai.startBlock?ai.startBlock.push(ki.start):ai.startBlock=[ki.start]:ki.level==="inline"&&(ai.startInline?ai.startInline.push(ki.start):ai.startInline=[ki.start]))}"childTokens"in ki&&ki.childTokens&&(ai.childTokens[ki.name]=ki.childTokens)}),wi.extensions=ai),vi.renderer){const ki=this.defaults.renderer||new Yi(this.defaults);for(const $i in vi.renderer){if(!($i in ki))throw new Error("renderer '".concat($i,"' does not exist"));if(["options","parser"].includes($i))continue;const Oi=$i,Wi=vi.renderer[Oi],Gi=ki[Oi];ki[Oi]=(..._n)=>{let Cn=Wi.apply(ki,_n);return Cn===!1&&(Cn=Gi.apply(ki,_n)),Cn||""}}wi.renderer=ki}if(vi.tokenizer){const ki=this.defaults.tokenizer||new pe(this.defaults);for(const $i in vi.tokenizer){if(!($i in ki))throw new Error("tokenizer '".concat($i,"' does not exist"));if(["options","rules","lexer"].includes($i))continue;const Oi=$i,Wi=vi.tokenizer[Oi],Gi=ki[Oi];ki[Oi]=(..._n)=>{let Cn=Wi.apply(ki,_n);return Cn===!1&&(Cn=Gi.apply(ki,_n)),Cn}}wi.tokenizer=ki}if(vi.hooks){const ki=this.defaults.hooks||new Bi;for(const $i in vi.hooks){if(!($i in ki))throw new Error("hook '".concat($i,"' does not exist"));if($i==="options")continue;const Oi=$i,Wi=vi.hooks[Oi],Gi=ki[Oi];Bi.passThroughHooks.has($i)?ki[Oi]=_n=>{if(this.defaults.async)return Promise.resolve(Wi.call(ki,_n)).then(Di=>Gi.call(ki,Di));const Cn=Wi.call(ki,_n);return Gi.call(ki,Cn)}:ki[Oi]=(..._n)=>{let Cn=Wi.apply(ki,_n);return Cn===!1&&(Cn=Gi.apply(ki,_n)),Cn}}wi.hooks=ki}if(vi.walkTokens){const ki=this.defaults.walkTokens,$i=vi.walkTokens;wi.walkTokens=function(Oi){let Wi=[];return Wi.push($i.call(this,Oi)),ki&&(Wi=Wi.concat(ki.call(this,Oi))),Wi}}this.defaults={...this.defaults,...wi}}),this}setOptions(li){return this.defaults={...this.defaults,...li},this}lexer(li,ai){return zi.lex(li,ai!=null?ai:this.defaults)}parser(li,ai){return Ei.parse(li,ai!=null?ai:this.defaults)}parseMarkdown(li,ai){return(wi,ki)=>{const $i={...ki},Oi={...this.defaults,...$i},Wi=this.onError(!!Oi.silent,!!Oi.async);if(this.defaults.async===!0&&$i.async===!1)return Wi(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 wi>"u"||wi===null)return Wi(new Error("marked(): input parameter is undefined or null"));if(typeof wi!="string")return Wi(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(wi)+", string expected"));if(Oi.hooks&&(Oi.hooks.options=Oi),Oi.async)return Promise.resolve(Oi.hooks?Oi.hooks.preprocess(wi):wi).then(Gi=>li(Gi,Oi)).then(Gi=>Oi.hooks?Oi.hooks.processAllTokens(Gi):Gi).then(Gi=>Oi.walkTokens?Promise.all(this.walkTokens(Gi,Oi.walkTokens)).then(()=>Gi):Gi).then(Gi=>ai(Gi,Oi)).then(Gi=>Oi.hooks?Oi.hooks.postprocess(Gi):Gi).catch(Wi);try{Oi.hooks&&(wi=Oi.hooks.preprocess(wi));let Gi=li(wi,Oi);Oi.hooks&&(Gi=Oi.hooks.processAllTokens(Gi)),Oi.walkTokens&&this.walkTokens(Gi,Oi.walkTokens);let _n=ai(Gi,Oi);return Oi.hooks&&(_n=Oi.hooks.postprocess(_n)),_n}catch(Gi){return Wi(Gi)}}}onError(li,ai){return vi=>{if(vi.message+="\nPlease report this to https://github.com/markedjs/marked.",li){const wi="

    An error occurred:

    "+V(vi.message+"",!0)+"
    ";return ai?Promise.resolve(wi):wi}if(ai)return Promise.reject(vi);throw vi}}}const Ni=new di;function Mi(Ri,li){return Ni.parse(Ri,li)}Mi.options=Mi.setOptions=function(Ri){return Ni.setOptions(Ri),Mi.defaults=Ni.defaults,i(Mi.defaults),Mi},Mi.getDefaults=t,Mi.defaults=e.defaults,Mi.use=function(...Ri){return Ni.use(...Ri),Mi.defaults=Ni.defaults,i(Mi.defaults),Mi},Mi.walkTokens=function(Ri,li){return Ni.walkTokens(Ri,li)},Mi.parseInline=Ni.parseInline,Mi.Parser=Ei,Mi.parser=Ei.parse,Mi.Renderer=Yi,Mi.TextRenderer=Xi,Mi.Lexer=zi,Mi.lexer=zi.lex,Mi.Tokenizer=pe,Mi.Hooks=Bi,Mi.parse=Mi;const ji=Mi.options,hn=Mi.setOptions,kn=Mi.use,xn=Mi.walkTokens,$n=Mi.parseInline,Gn=Mi,Mn=Ei.parse,bn=zi.lex;e.Hooks=Bi,e.Lexer=zi,e.Marked=di,e.Parser=Ei,e.Renderer=Yi,e.TextRenderer=Xi,e.Tokenizer=pe,e.getDefaults=t,e.lexer=bn,e.marked=Mi,e.options=ji,e.parse=Gn,e.parseInline=$n,e.parser=Mn,e.setOptions=hn,e.use=kn,e.walkTokens=xn})})();__marked_exports.Hooks||exports.Hooks;__marked_exports.Lexer||exports.Lexer;__marked_exports.Marked||exports.Marked;__marked_exports.Parser||exports.Parser;var Renderer=__marked_exports.Renderer||exports.Renderer;__marked_exports.TextRenderer||exports.TextRenderer;__marked_exports.Tokenizer||exports.Tokenizer;var defaults$1=__marked_exports.defaults||exports.defaults;__marked_exports.getDefaults||exports.getDefaults;var lexer=__marked_exports.lexer||exports.lexer;__marked_exports.marked||exports.marked;__marked_exports.options||exports.options;var parse$5=__marked_exports.parse||exports.parse;__marked_exports.parseInline||exports.parseInline;var parser$1=__marked_exports.parser||exports.parser;__marked_exports.setOptions||exports.setOptions;__marked_exports.use||exports.use;__marked_exports.walkTokens||exports.walkTokens;function stringify$2(n){return JSON.stringify(n,replacer)}function parse$4(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({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(i)),e=typeof e=="string"?escapeDoubleQuotes(removeMarkdownEscapes(e)):"",n=removeMarkdownEscapes(n),n=n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),'
    ').concat(i,""))}});function renderMarkdown(n,e={},t={}){var ae,le;const i=new DisposableStore;let r=!1;const g=createElement$1(e),y=function(de){let ue;try{ue=parse$4(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},k=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:y(pe.query)})),pe.toString())},L=new Renderer;L.image=defaultMarkedRenderers.image,L.link=defaultMarkedRenderers.link,L.paragraph=defaultMarkedRenderers.paragraph;const z=[],V=[];if(e.codeBlockRendererSync?L.code=({text:de,lang:ue})=>{const he=defaultGenerator.nextId(),pe=e.codeBlockRendererSync(postProcessCodeBlockLanguageId(ue),de);return V.push([he,pe]),'
    ').concat(escape(de),"
    ")}:e.codeBlockRenderer&&(L.code=({text:de,lang:ue})=>{const he=defaultGenerator.nextId(),pe=e.codeBlockRenderer(postProcessCodeBlockLanguageId(ue),de);return z.push(pe.then(_e=>[he,_e])),'
    ').concat(escape(de),"
    ")}),e.actionHandler){const de=function(pe){let _e=pe.target;if(!(_e.tagName!=="A"&&(_e=_e.parentElement,!_e||_e.tagName!=="A")))try{let Ce=_e.dataset.href;Ce&&(n.baseUri&&(Ce=resolveWithBaseUri(URI.from(n.baseUri),Ce)),e.actionHandler.callback(Ce,pe))}catch(Ce){onUnexpectedError(Ce)}finally{pe.preventDefault()}},ue=e.actionHandler.disposables.add(new DomEmitter(g,"click")),he=e.actionHandler.disposables.add(new DomEmitter(g,"auxclick"));e.actionHandler.disposables.add(Event$1.any(ue.event,he.event)(pe=>{const _e=new StandardMouseEvent(getWindow$2(g),pe);!_e.leftButton&&!_e.middleButton||de(_e)})),e.actionHandler.disposables.add(addDisposableListener(g,"keydown",pe=>{const _e=new StandardKeyboardEvent(pe);!_e.equals(10)&&!_e.equals(3)||de(_e)}))}n.supportHtml||(L.html=({text:de})=>{var he;return(he=e.sanitizerOptions)!=null&&he.replaceWithPlaintext?escape(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(j));let ie;if(e.fillInIncompleteTokens){const de={...defaults$1,...t},ue=lexer(j,de),he=fillInIncompleteTokens(ue);ie=parser$1(he,de)}else ie=parse$5(j,{...t,async:!1});n.supportThemeIcons&&(ie=renderLabelWithIcons(ie).map(ue=>typeof ue=="string"?ue:ue.outerHTML).join(""));const re=new DOMParser().parseFromString(sanitizeRenderedMarkdown({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(URI.from(n.baseUri),he))}catch(pe){}if(de.setAttribute("src",k(he,!0)),e.remoteImageIsAllowed){const pe=URI.parse(he);pe.scheme!==Schemas.file&&pe.scheme!==Schemas.data&&!e.remoteImageIsAllowed(pe)&&de.replaceWith($$f("",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(URI.from(n.baseUri),ue)),de.dataset.href=he}}),g.innerHTML=sanitizeRenderedMarkdown({isTrusted:n.isTrusted,...e.sanitizerOptions},re.body.innerHTML),z.length>0)Promise.all(z).then(de=>{var pe,_e;if(r)return;const ue=new Map(de),he=g.querySelectorAll("div[data-code]");for(const Ce of he){const xe=ue.get((pe=Ce.dataset.code)!=null?pe:"");xe&&reset(Ce,xe)}(_e=e.asyncRenderCallback)==null||_e.call(e)});else if(V.length>0){const de=new Map(V),ue=g.querySelectorAll("div[data-code]");for(const he of ue){const pe=de.get((le=he.dataset.code)!=null?le:"");pe&&reset(he,pe)}}if(e.asyncRenderCallback)for(const de of g.getElementsByTagName("img")){const ue=i.add(addDisposableListener(de,"load",()=>{ue.dispose(),e.asyncRenderCallback()}))}return{element:g,dispose:()=>{r=!0,i.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()}const selfClosingTags=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function sanitizeRenderedMarkdown(n,e){const{config:t,allowedSchemes:i}=getSanitizerOptions(n),r=new DisposableStore;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,z;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||(z=""))}const V=document.createDocumentFragment(),j=g.parentElement.ownerDocument.createTextNode(L);V.appendChild(j);const ie=z?g.parentElement.ownerDocument.createTextNode(z):void 0;for(;g.firstChild;)V.appendChild(g.firstChild);ie&&V.appendChild(ie),g.nodeType===Node.COMMENT_NODE?g.parentElement.insertBefore(V,g):g.parentElement.replaceChild(V,g)}})),r.add(hookDomPurifyHrefAndSrcSanitizer(i));try{return sanitize$1(e,{...t,RETURN_TRUSTED_TYPE:!0})}finally{r.dispose()}}const allowedMarkdownAttr=["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(n){var t;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:(t=n.allowedTags)!=null?t:[...basicMarkupHtmlTags],ALLOWED_ATTR:allowedMarkdownAttr,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}function renderStringAsPlaintext(n){return typeof n=="string"?n:renderMarkdownAsPlaintext(n)}function renderMarkdownAsPlaintext(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.value}).replace(/&(#\d+|[a-zA-Z]+);/g,g=>{var y;return(y=unescapeInfo.get(g))!=null?y:g});return sanitizeRenderedMarkdown({isTrusted:!1},i).toString()}const unescapeInfo=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=new Lazy(n=>createRenderer());function mergeRawTokenText(n){let e="";return n.forEach(t=>{e+=t.raw}),e}function completeSingleLinePattern(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(n);if(y.includes("**"))return completeDoublestar(n);if(y.match(/\*\w/))return completeStar(n);if(y.match(/(^|\s)__\w/))return completeDoubleUnderscore(n);if(y.match(/(^|\s)_\w/))return completeUnderscore(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(n):completeLinkTarget(n)}else if(y.match(/(^|\s)\[\w*/))return completeLinkText(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(t)),!i||i.type!=="paragraph")return;const r=mergeRawTokenText(n.items.slice(0,-1)),g=(L=e.raw.match(/^(\s*(-|\d+\.|\*) +)/))==null?void 0:L[0];if(!g)return;const y=g+mergeRawTokenText(e.tokens.slice(0,-1))+i.raw,k=lexer(r+y)[0];if(k.type==="list")return k}const maxIncompleteTokensFixRounds=3;function fillInIncompleteTokens(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(n,e),toDisposable(()=>removeHook(n))}const xo=class xo{static createEmpty(e,t){const i=xo.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=i,new xo(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 xo(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 xo?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 xo.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 z=this._tokens[(t<<1)+1];g.push(r.length,z),y=L.offset}r+=L.text,g.push(r.length,L.tokenMetadata),i++}else break}return new xo(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;let LineTokens=xo;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.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 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}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(t,e===null?NullState:e)}const fallback={getInitialState:()=>NullState,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,z=0,V=!0;for(let j=0,ie=e.getCount();j0;)y&&V?(re+=" ",V=!1):(re+=" ",V=!0),le--;break}case 60:re+="<",V=!1;break;case 62:re+=">",V=!1;break;case 38:re+="&",V=!1;break;case 0:re+="�",V=!1;break;case 65279:case 8232:case 8233:case 133:re+="�",V=!1;break;case 13:re+="​",V=!1;break;case 32:y&&V?(re+=" ",V=!1):(re+=" ",V=!0);break;default:re+=String.fromCharCode(ae),V=!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 z=t.tokenizeEncoded(L,!0,g);LineTokens.convertToEndOffset(z.tokens,L.length);const j=new LineTokens(z.tokens,L,e).inflate();let ie=0;for(let oe=0,re=j.getCount();oe').concat(escape(L.substring(ie,le)),""),ie=le}g=z.endState}return i+="
    ",i}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$2k=function(n,e){return function(t,i){e(t,i,n)}},MarkdownRenderer_1,fr;let MarkdownRenderer=(fr=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 L,z,V;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);const y=await tokenizeToString(this._languageService,r,g),k=document.createElement("span");if(k.innerHTML=(V=(z=MarkdownRenderer_1._ttpTokenizer)==null?void 0:z.createHTML(y))!=null?V:y,this._options.editor){const j=this._options.editor.getOption(50);applyFontInfo(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(this._openerService,i,e.isTrusted),disposables:t}}}},MarkdownRenderer_1=fr,fr._ttpTokenizer=createTrustedTypesPolicy("tokenizeToString",{createHTML(e){return e}}),fr);MarkdownRenderer=MarkdownRenderer_1=__decorate$2t([__param$2k(1,ILanguageService),__param$2k(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}const IAccessibilityService=createDecorator("accessibilityService"),CONTEXT_ACCESSIBILITY_MODE_ENABLED=new RawContextKey("accessibilityModeEnabled",!1),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"}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$2j=function(n,e){return function(t,i){e(t,i,n)}};const $$d=$$f;let HoverWidget=class extends Widget$1{get _targetWindow(){return getWindow$2(this._target.targetElements[0])}get _targetDocumentElement(){return getWindow$2(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,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=(ie=e.appearance)!=null&&ie.showPointer?$$d("div.workbench-hover-pointer"):void 0,this._hover=this._register(new HoverWidget$1),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(this._targetWindow,"blur",()=>this.dispose()));const k=$$d("div.hover-row.markdown-hover"),L=$$d("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,_e=this._instantiationService.createInstance(MarkdownRenderer,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||EDITOR_FONT_DEFAULTS.fontFamily}),{element:Ce}=_e.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(Ce)}if(k.appendChild(L),this._hover.contentsDomNode.appendChild(k),e.actions&&e.actions.length>0){const pe=$$d("div.hover-row.status-bar"),_e=$$d("div.actions");e.actions.forEach(Ce=>{const xe=this._keybindingService.lookupKeybinding(Ce.commandId),Ie=xe?xe.getLabel():null;HoverAction.render(_e,{label:Ce.label,commandId:Ce.commandId,run:Ne=>{Ce.run(Ne),this.dispose()},iconClass:Ce.iconClass},Ie)}),pe.appendChild(_e),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 z;if(e.actions&&e.actions.length>0?z=!1:((ue=e.persistence)==null?void 0:ue.hideOnHover)===void 0?z=typeof e.content=="string"||isMarkdownString(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):z=e.persistence.hideOnHover,(he=e.appearance)!=null&&he.showHoverHint){const pe=$$d("div.hover-row.status-bar"),_e=$$d("div.info");_e.textContent=localize("hoverhint","Hold {0} key to mouse over",isMacintosh?"Option":"Alt"),pe.appendChild(_e),this._hover.containerDomNode.appendChild(pe)}const V=[...this._target.targetElements];z||V.push(this._hoverContainer);const j=this._register(new CompositeMouseTracker(V));if(this._register(j.onMouseOut(()=>{this._isLocked||this.dispose()})),z){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=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$1(this._hoverContainer,$$d("div")),r=append$2(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 r;e.appendChild(this._hoverContainer);const i=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&getHoverAccessibleViewHint(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(r=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:r.getAriaLabel());i&&status(i),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=V=>{const j=getDomNodeZoomLevel(V),ie=V.getBoundingClientRect();return{top:ie.top*j,bottom:ie.bottom*j,right:ie.right*j,left:ie.left*j}},t=this._target.targetElements.map(V=>e(V)),{top:i,right:r,bottom:g,left:y}=t[0],k=r-y,L=g-i,z={top:i,right:r,bottom:g,left:y,width:k,height:L,center:{x:y+k/2,y:i+L/2}};if(this.adjustHorizontalHoverPosition(z),this.adjustVerticalHoverPosition(z),this.adjustHoverMaxHeight(z),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:z.left+=3,z.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:z.left-=3,z.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:z.top+=3,z.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:z.top-=3,z.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}z.center.x=z.left+k/2,z.center.y=z.top+L/2}this.computeXCordinate(z),this.computeYCordinate(z),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(z)),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$2s([__param$2j(1,IKeybindingService),__param$2j(2,IConfigurationService),__param$2j(3,IOpenerService),__param$2j(4,IInstantiationService),__param$2j(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$2(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(getWindow$2(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)},z={start:Math.max(y.end,g.start),end:g.end};return t(L)||k.push(L),t(z)||k.push(z),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}const _s=class _s 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$2(this.view),this.setContainer(e,t),this._register(toDisposable(()=>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=$$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;_s.BUBBLE_UP_EVENTS.forEach(y=>{g.add(addStandardDisposableListener(this.container,y,k=>{this.onDOMEvent(k,!1)}))}),_s.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 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(this.view),this.toDisposeOnClean=e.render(this.view)||Disposable.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$1&&BrowserFeatures.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(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,z;const V=getActiveWindow();if(k===0){const ie={offset:t.top-V.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(V.innerHeight,r,ie)+V.pageYOffset,Range$1.intersects({start:L,end:L+r},{start:ie.offset,end:ie.offset+ie.size})&&(oe.mode=LayoutAnchorMode.AVOID),z=layout(V.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};z=layout(V.innerWidth,i,ie),Range$1.intersects({start:z,end:z+i},{start:ie.offset,end:ie.offset+ie.size})&&(oe.mode=LayoutAnchorMode.AVOID),L=layout(V.innerHeight,r,oe)+V.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(z-(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$2(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,getWindow$2(e).document.activeElement):t&&!isAncestor$1(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}};_s.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],_s.BUBBLE_DOWN_EVENTS=["click"];let ContextView=_s;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$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$2i=function(n,e){return function(t,i){e(t,i,n)}};let ContextViewHandler=class extends Disposable{constructor(e){super(),this.layoutService=e,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$2(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=__decorate$2r([__param$2i(0,ILayoutService)],ContextViewHandler);class ContextViewService extends ContextViewHandler{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$4(e)||isHTMLElement$1(e))r=e;else if(!isFunction$5(e.markdown))r=(g=e.markdown)!=null?g:e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(localize("iconLabel.loading","Loading..."),t,i),this._cancellationTokenSource=new CancellationTokenSource$1;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(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$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$2h=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,this._managedHovers=new Map,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new ContextViewHandler(this._layoutService))}showHover(e,t,i){var L,z,V,j;if(getHoverOptionsIdentity(this._currentHoverOptions)===getHoverOptionsIdentity(e)||this._currentHover&&((z=(L=this._currentHoverOptions)==null?void 0:L.persistence)!=null&&z.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const r=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),g=getActiveElement();i||(r&&g?g.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=g):this._lastFocusedElementBeforeOpen=void 0);const y=new DisposableStore,k=this._instantiationService.createInstance(HoverWidget,e);if((V=e.persistence)!=null&&V.sticky&&(k.isLocked=!0),k.onDispose(()=>{var oe,re;((oe=this._currentHover)==null?void 0:oe.domNode)&&isAncestorOfActiveElement(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$2(ie))}if(this._contextViewHandler.showContextView(new HoverContextViewDelegate(k,t),e.container),k.onRequestLayout(()=>this._contextViewHandler.layout(),void 0,y),(j=e.persistence)!=null&&j.sticky)y.add(addDisposableListener(getWindow$2(e.container).document,EventType$1.MOUSE_DOWN,ie=>{isAncestor$1(ie.target,k.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const oe of e.target.targetElements)y.add(addDisposableListener(oe,EventType$1.CLICK,()=>this.hideHover()));else y.add(addDisposableListener(e.target,EventType$1.CLICK,()=>this.hideHover()));const ie=getActiveElement();if(ie){const oe=getWindow$2(ie).document;y.add(addDisposableListener(ie,EventType$1.KEY_DOWN,re=>{var ae;return this._keyDown(re,k,!!((ae=e.persistence)!=null&&ae.hideOnKeyDown))})),y.add(addDisposableListener(oe,EventType$1.KEY_DOWN,re=>{var ae;return this._keyDown(re,k,!!((ae=e.persistence)!=null&&ae.hideOnKeyDown))})),y.add(addDisposableListener(ie,EventType$1.KEY_UP,re=>this._keyUp(re,k))),y.add(addDisposableListener(oe,EventType$1.KEY_UP,re=>this._keyUp(re,k)))}}if("IntersectionObserver"in mainWindow){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(()=>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(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 Ce;const _e=y!==void 0;he&&(y==null||y.dispose(),y=void 0),pe&&(g==null||g.dispose(),g=void 0),_e&&((Ce=e.onDidHideHover)==null||Ce.call(e),y=void 0)},L=(he,pe,_e,Ce)=>new TimeoutTimer(async()=>{(!y||y.isDisposed)&&(y=new ManagedHoverWidget(e,_e||t,he>0),await y.update(typeof i=="function"?i():i,pe,{...r,trapFocus:Ce}))},he);let z=!1;const V=addDisposableListener(t,EventType$1.MOUSE_DOWN,()=>{z=!0,k(!0,!0)},!0),j=addDisposableListener(t,EventType$1.MOUSE_UP,()=>{z=!1},!0),ie=addDisposableListener(t,EventType$1.MOUSE_LEAVE,he=>{z=!1,k(!1,he.fromElement===t)},!0),oe=he=>{if(g)return;const pe=new DisposableStore,_e={targetElements:[t],dispose:()=>{}};if(e.placement===void 0||e.placement==="mouse"){const Ce=xe=>{_e.x=xe.x+10,isHTMLElement$1(xe.target)&&getHoverTargetElement(xe.target,t)!==t&&k(!0,!0)};pe.add(addDisposableListener(t,EventType$1.MOUSE_MOVE,Ce,!0))}g=pe,!(isHTMLElement$1(he.target)&&getHoverTargetElement(he.target,t)!==t)&&pe.add(L(e.delay,!1,_e))},re=addDisposableListener(t,EventType$1.MOUSE_OVER,oe,!0),ae=()=>{if(z||g)return;const he={targetElements:[t],dispose:()=>{}},pe=new DisposableStore,_e=()=>k(!0,!0);pe.add(addDisposableListener(t,EventType$1.BLUR,_e,!0)),pe.add(L(e.delay,!1,he)),g=pe};let le;const de=t.tagName.toLowerCase();de!=="input"&&de!=="textarea"&&(le=addDisposableListener(t,EventType$1.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(),V.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=__decorate$2q([__param$2h(0,IInstantiationService),__param$2h(1,IContextMenuService),__param$2h(2,IKeybindingService),__param$2h(3,ILayoutService),__param$2h(4,IAccessibilityService)],HoverService);function getHoverOptionsIdentity(n){var e;if(n!==void 0)return(e=n==null?void 0:n.id)!=null?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()}}function getHoverTargetElement(n,e){for(e=e!=null?e:getWindow$2(n).document.body;!n.hasAttribute("custom-hover")&&n!==e;)n=n.parentElement;return n}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$6(e)&&URI.isUri(e.resource)&&isObject$6(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$6(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,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1},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:!0,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.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:localize("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("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.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:diffEditorDefaultOptions.experimental.useTrueInlineView,description:localize("useTrueInlineView","If enabled and the editor uses the inline view, word changes are rendered inline.")}}};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{static createEmptyModel(e){return new ConfigurationModel({},[],[],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 ConfigurationModel)return i;const r=new ConfigurationModelParser("",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(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,[],void 0,i.logService).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 y,k;const t=deepClone(this.contents),i=deepClone(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 z of L.overrides){const[V]=i.filter(j=>equals$2(j.identifiers,z.identifiers));V?(this.mergeContents(V.contents,z.contents),V.keys.push(...z.keys),V.keys=distinct(V.keys)):i.push(deepClone(z))}for(const z of L.keys)r.indexOf(z)===-1&&r.push(z)}return new ConfigurationModel(t,r,i,g.every(L=>L instanceof ConfigurationModel)?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([...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,void 0,this.logService)}mergeContents(e,t){for(const i of Object.keys(t)){if(i in e&&isObject$6(e[i])&&isObject$6(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}}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$2(i.identifiers,overrideIdentifiersFromKey(e))),1))}updateValue(e,t,i){if(addToValueTree(this.contents,e,t,r=>this.logService.error(r)),i=i||this.keys.indexOf(e)===-1,i&&this.keys.push(e),OVERRIDE_PROPERTY_REGEX.test(e)){const r=overrideIdentifiersFromKey(e),g={identifiers:r,keys:Object.keys(this.contents[e]),contents:toValuesTree(this.contents[e],k=>this.logService.error(k))},y=this.overrides.findIndex(k=>equals$2(k.identifiers,r));y!==-1?this.overrides[y]=g:this.overrides.push(g)}}}class ConfigurationModelParser{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||ConfigurationModel.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(i,r,g,k?[e]:void 0,this.logService),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=>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,z,V;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.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),!((z=r.exclude)!=null&&z.includes(j))&&((V=r.include)!=null&&V.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.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,z,V,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=z,this.remoteUserConfiguration=V,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,y,k,L,z,V){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=z,this.logService=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=ConfigurationModel.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 z of L.identifiers)r.getOverrideValue(e,z)!==void 0&&k.add(z);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,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((z,V)=>(z.set(URI.revive(V[0]),this.parseConfigurationModel(V[1],t)),z),new ResourceMap);return new Configuration(i,r,g,y,ConfigurationModel.createEmptyModel(t),k,L,ConfigurationModel.createEmptyModel(t),new ResourceMap,t)}static parseConfigurationModel(e,t){return new ConfigurationModel(e.contents,e.keys,e.overrides,void 0,t)}}class ConfigurationChangeEvent{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.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,z=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!equals$1(L,z)}return!0}}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,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,z=g.length;LV.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 V;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(),z=this._getResolver().resolve(k,y,g);switch(z.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("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(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(L,'".')),this._notificationService.status(localize("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(),z.isBubble||(r=!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:(V=e.getUserSettingsLabel())!=null?V:void 0})}return r}}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}}const Ia=class Ia{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}}};Ia.EMPTY=new Ia(null);let KeybindingModifierSet=Ia;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");var Ts;let Progress$1=(Ts=class{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}},Ts.None=Object.freeze({report(){}}),Ts);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 z=L.balanceFactor();if(z<-1||z>1){const V=g[k][0],j=g[k+1][0];if(V===1&&j===1)g[k][1]=L.rotateLeft();else if(V===-1&&j===-1)g[k][1]=L.rotateRight();else if(V===1&&j===-1)L.right=g[k+1][1]=g[k+1][1].rotateRight(),g[k][1]=L.rotateLeft();else if(V===-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:z,segment:V}=k;this._delete(k.key,!1),g.key=L,g.value=z,g.segment=V}}else{const k=(y=g.left)!=null?y:g.right;if(r.length>0){const[L,z]=r[r.length-1];switch(L){case-1:z.left=k;break;case 0:z.mid=k;break;case 1:z.right=k;break}}else this._root=k}for(let k=r.length-1;k>=0;k--){const L=r[k][1];L.updateHeight();const z=L.balanceFactor();if(z>1?(L.right.balanceFactor()>=0||(L.right=L.right.rotateRight()),r[k][1]=L.rotateLeft()):z<-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=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")})(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$6(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 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 z=L.filepatternOnPath?n:e;(y=L.filepatternLowercase)!=null&&y.call(L,z)&&(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(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$h=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}}const qs=class qs extends Disposable{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,qs.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(){qs.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$h.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$h.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return hasOwnProperty$h.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&hasOwnProperty$h.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:getLanguageIds(e,t)}};qs.instanceCount=0;let LanguagesRegistry=qs;const strictEquals=(n,e)=>n===e;function itemsEquals(n=strictEquals){return(e,t)=>equals$2(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(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({owner:void 0,debugName:()=>"".concat(this.debugName," (flattened)")},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(_recomputeInitiallyAndOnChange(this,t)),this}keepObserved(e){return e.add(_keepObserved(this)),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){this._fn=e,this._getDebugName=t,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():getFunctionName(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())==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(n,e){let t;return typeof n=="string"?t=new DebugNameData(void 0,n,void 0):t=new DebugNameData(n,void 0,void 0),new DisposableObservableValue(t,e,strictEquals)}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.dispose()}}function derived(n,e){return e!==void 0?new Derived(new DebugNameData(n,void 0,e),e,void 0,void 0,void 0,strictEquals):new Derived(new DebugNameData(void 0,void 0,n),n,void 0,void 0,void 0,strictEquals)}function derivedWithSetter(n,e,t){return new DerivedWithSetter(new DebugNameData(n,void 0,e),e,void 0,void 0,void 0,strictEquals,t)}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.equalsFn)!=null?t:strictEquals)}_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:strictEquals)}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(),strictEquals)}function derivedDisposable(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);let r;return new Derived(new DebugNameData(i,void 0,t),g=>{r?r.clear():r=new DisposableStore;const y=t(g);return y&&r.add(y),y},void 0,void 0,()=>{r&&(r.dispose(),r=void 0)},strictEquals)}class Derived extends BaseObservable{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(()=>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{constructor(e,t,i,r,g=void 0,y,k){super(e,t,i,r,g,y),this.set=k}}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: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:e),e,n.createEmptyChangeSummary,n.handleChange)}function autorunWithStoreHandleChanges(n,e){var r;const t=new DisposableStore,i=autorunHandleChanges({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(()=>{i.dispose(),t.dispose()})}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:"(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())==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(()=>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){let e,t,i;return n.length===3?[e,t,i]=n:[t,i]=n,new FromEventObservable(new DebugNameData(e,void 0,i),t,i,()=>FromEventObservable.globalTransaction,strictEquals)}function observableFromEventOpts(n,e,t){var i,r;return new FromEventObservable(new DebugNameData(n.owner,n.debugName,(i=n.debugReferenceFn)!=null?i:t),e,t,()=>FromEventObservable.globalTransaction,(r=n.equalsFn)!=null?r:strictEquals)}class FromEventObservable extends BaseObservable{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(this._getTransaction(),V=>{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)}}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;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:"Observable Signal"}toString(){return this.debugName}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 keepObserved(n){const e=new KeepAliveObserver(!1,void 0);return n.addObserver(e),toDisposable(()=>{n.removeObserver(e)})}_setKeepObserved(keepObserved);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,e){let t;return derivedOpts({owner:n,debugReferenceFn:e},r=>(t=e(r,t),t))}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 derivedConstOnceDefined(n,e){return derivedObservableWithCache(n,(t,i)=>i!=null?i:e(t))}class ObservablePromise{static fromFn(e){return new ObservablePromise(e())}constructor(e){this._value=observableValue(this,void 0),this.promiseResult=this._value,this.promise=e.then(t=>(transaction(i=>{this._value.set(new PromiseResult(t,void 0),i)}),t),t=>{throw transaction(i=>{this._value.set(new PromiseResult(void 0,t),i)}),t})}}class PromiseResult{constructor(e,t){this.data=e,this.error=t}}function waitForState(n,e,t,i){return e||(e=r=>r!=null),new Promise((r,g)=>{let y=!0,k=!1;const L=n.map(V=>({isFinished:e(V),error:t?t(V):!1,state:V})),z=autorun(V=>{const{isFinished:j,error:ie,state:oe}=L.read(V);(j||ie)&&(y?k=!0:z.dispose(),ie?g(ie===!0?oe:ie):r(oe))});if(i){const V=i.onCancellationRequested(()=>{z.dispose(),V.dispose(),g(new CancellationError)});if(i.isCancellationRequested){z.dispose(),V.dispose(),g(new CancellationError);return}}y=!1,k&&z.dispose()})}class LazyObservableValue extends BaseObservable{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(()=>{},()=>"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(n.owner,n.debugName,void 0),e,(t=n.equalsFn)!=null?t:strictEquals):new ObservableValue(new DebugNameData(n.owner,n.debugName,void 0),e,(i=n.equalsFn)!=null?i:strictEquals)}const Ys=class Ys 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,Ys.instanceCount++,this._registry=this._register(new LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){Ys.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))}};Ys.instanceCount=0;let LanguageService=Ys;class LanguageSelection{constructor(e,t){this._value=observableFromEvent(this,e,()=>t()),this.onDidChange=Event$1.fromObservable(this._value)}get languageId(){return this._value.get()}}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)}let baseHoverDelegate={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function setBaseLayerHoverDelegate(n){baseHoverDelegate=n}function getBaseLayerHoverDelegate(){return baseHoverDelegate}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,z)=>({range:{start:e+z,end:e+z+1},size:L.size}));this.groups=concat$1(g,k,y),this._size=this._paddingTop+this.groups.reduce((L,z)=>L+z.size*(z.range.end-z.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$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};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=>{}}}const La=class La{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 y,k,L,z,V,j,ie,oe,re,ae,le,de,ue;if(this.virtualDelegate=t,this.domId="list_id_".concat(++La.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((y=r.paddingTop)!=null?y: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=(k=r.horizontalScrolling)!=null?k: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",((L=r.transformOptimization)!=null?L: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:(z=r.smoothScrolling)!=null&&z?125:0,scheduleAtNextAnimationFrame:he=>scheduleAtNextAnimationFrame(getWindow$2(this.domNode),he)})),this.scrollableElement=this.disposables.add(new SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:(V=r.alwaysConsumeMouseWheel)!=null?V:DefaultOptions$1.alwaysConsumeMouseWheel,horizontal:1,vertical:(j=r.verticalScrollMode)!=null?j:DefaultOptions$1.verticalScrollMode,useShadows:(ie=r.useShadows)!=null?ie: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=(oe=r.setRowLineHeight)!=null?oe:DefaultOptions$1.setRowLineHeight,this.setRowHeight=(re=r.setRowHeight)!=null?re:DefaultOptions$1.setRowHeight,this.supportDynamicHeights=(ae=r.supportDynamicHeights)!=null?ae:DefaultOptions$1.supportDynamicHeights,this.dnd=(le=r.dnd)!=null?le:this.disposables.add(DefaultOptions$1.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(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 _e=y.end-1;_e>=y.start;_e--){const Ce=this.items[_e];if(Ce.dragStartDisposable.dispose(),Ce.checkedDisposable.dispose(),Ce.row){let xe=k.get(Ce.templateId);xe||(xe=[],k.set(Ce.templateId,xe));const Ie=this.renderers.get(Ce.templateId);Ie&&Ie.disposeElement&&Ie.disposeElement(Ce.element,_e,Ce.row.templateData,Ce.size),xe.unshift(Ce.row)}Ce.row=null,Ce.stale=!0}const L={start:e+t,end:this.items.length},z=Range$1.intersect(L,r),V=Range$1.relativeComplement(L,r),j=i.map(_e=>({id:String(this.itemId++),element:_e,templateId:this.virtualDelegate.getTemplateId(_e),size:this.virtualDelegate.getHeight(_e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(_e),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(z,oe),le=Range$1.intersect(re,ae);for(let _e=le.start;_eshift(_e,oe)),pe=[{start:e,end:e+i.length},...ue].map(_e=>Range$1.intersect(re,_e)).reverse();for(const _e of pe)for(let Ce=_e.end-1;Ce>=_e.start;Ce--){const xe=this.items[Ce],Ie=k.get(xe.templateId),Ne=Ie==null?void 0:Ie.pop();this.insertItemInDOM(Ce,Ne)}for(const _e of k.values())for(const Ce of _e)this.cache.release(Ce);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),ie.map(_e=>_e.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height="".concat(this._scrollHeight,"px"),this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=scheduleAtNextAnimationFrame(getWindow$2(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(),z=Range$1.relativeComplement(e,k);if(y){const V=Range$1.intersect(e,k);for(let j=V.start;j{for(const V of z)for(let j=V.start;j=V.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,z,V;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=(V=(z=(L=this.items.at(e+1))==null?void 0:L.row)==null?void 0:z.domNode)!=null?V: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(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(e.row.domNode);const t=getWindow$2(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 g,y;if(!i.dataTransfer)return;const r=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(r,i)),typeof k>"u"&&(k=String(r.length));const L=$$f(".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(r),StaticDND.CurrentDragAndDropData=new ExternalElementsDragAndDropData(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.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 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(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(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(()=>{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 z=this.items[L];z.dropTarget=!1,(k=z.row)==null||k.domNode.classList.remove(r)}})}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.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.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$2(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(;(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 z=!1;for(let V=L.start;V=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};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$2o([memoize$1],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$2(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$2o([memoize$1],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?this.enable():this.disable(),this.mode=(i=e.typeNavigationMode)!=null?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 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(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&&z.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||!isHTMLElement$1(r)||r.tabIndex===-1)return;const g=getWindow$2(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 V=this.list.getFocus()[0];i=V!=null?V:t,this.list.setAnchor(i)}const r=Math.min(i,t),g=Math.max(i,t),y=range$2(r,g+1),k=this.list.getSelection(),L=getContiguousRangeContaining(disjunction(k,[i]),i);if(L.length===0)return;const z=disjunction(y,relativeComplement(k,L));this.list.setSelection(z,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 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(e.listFocusAndSelectionOutline,asCssValueWithDefault(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(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={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,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow: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 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++])}}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.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()}}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,z=typeof L<"u"?this.view.element(L):void 0,V=typeof L<"u"?this.view.domElement(L):this.view.domNode;return{index:L,element:z,anchor:V,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$2(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 z,V,j,ie;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 y=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(z=this._options.accessibilityProvider)==null?void 0:z.getWidgetRole():"list";this.selection=new SelectionTrait(y!=="listbox");const k=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=g.accessibilityProvider,this.accessibilityProvider&&(k.push(new AccessibiltyRenderer(this.accessibilityProvider)),(j=(V=this.accessibilityProvider).onDidChangeActiveDescendant)==null||j.call(V,this.onDidChangeActiveDescendant,this,this.disposables)),r=r.map(oe=>new PipelineRenderer(oe.templateId,[...k,oe]));const L={...g,dnd:g.dnd&&new ListViewDragAndDrop(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(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,(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(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.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(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$5(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 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$2o([memoize$1],List.prototype,"onDidChangeFocus",null);__decorate$2o([memoize$1],List.prototype,"onDidChangeSelection",null);__decorate$2o([memoize$1],List.prototype,"onContextMenu",null);__decorate$2o([memoize$1],List.prototype,"onKeyDown",null);__decorate$2o([memoize$1],List.prototype,"onDidFocus",null);__decorate$2o([memoize$1],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$2(e,$$c(".option-text")),t.detail=append$2(e,$$c(".option-detail")),t.decoratorRight=append$2(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){}}const ho=class ho 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=ho.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(getBaseLayerHoverDelegate().setupManagedHover(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$2(this.selectDropDownContainer,$$c(".select-box-details-pane"));const t=append$2(this.selectDropDownContainer,$$c(".select-box-dropdown-container-width-control")),i=append$2(t,$$c(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",append$2(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$2(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(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$2(this.selectElement),i=getDomNodePagePosition(this.selectElement),r=getWindow$2(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-ho.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,L=this.selectElement.offsetWidth,z=this.setWidthControlElement(this.widthControlElement),V=Math.max(z,Math.round(L)).toString()+"px";this.selectDropDownContainer.style.width=V,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=V,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,z=g.text.length+k+L;z>r&&(i=y,r=z)}),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$2(e,$$c(".select-box-dropdown-list-container")),this.listRenderer=new SelectListRenderer,this.selectList=this._register(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({key:"selectBox",comment:["Behave like native select dropdown element."]},"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$2(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?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 r;EventHelper$1.stop(e,!0);const i=isUndefinedOrNull(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("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()}}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":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({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())))}}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.focus()}blur(){var e;(e=this.selectBox)==null||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$2(e,$$f(".monaco-dropdown")),this._label=append$2(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 k;this.element=append$2(g,$$f("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("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.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(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={}));const Da=class Da 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(Da.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.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$6(t)||Array.isArray(t)?stringify$2(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()})}async doFlush(e){return this.options.hint===StorageHint.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}};Da.DEFAULT_FLUSH_DELAY=100;let Storage=Da;class InMemoryStorageDatabase{constructor(){this.onDidChangeItemsExternal=Event$1.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="__$__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)}const Na=class Na extends Disposable{constructor(e={flushInterval:Na.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?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(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,JSON.stringify(g),r)):typeof g[e]=="number"&&(delete g[e],(k=this.getStorage(t))==null||k.set(TARGET_KEY,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(t):Object.create(null)}};Na.DEFAULT_FLUSH_INTERVAL=60*1e3;let AbstractStorageService=Na;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(radioActiveForeground),asCssVariable(radioActiveBackground),asCssVariable(radioActiveBorder),asCssVariable(radioInactiveForeground),asCssVariable(radioInactiveBackground),asCssVariable(radioInactiveBorder),asCssVariable(radioInactiveHoverBackground);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),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:asCssVariable(scrollbarShadow),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,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow: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$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$2g=function(n,e){return function(t,i){e(t,i,n)}};function createAndFillInContextMenuActions(n,e,t,i){let r,g,y;if(Array.isArray(n))y=n,r=e,g=t;else{const z=e;y=n.getActions(z),r=t,g=i}const k=ModifierKeyEmitter.getInstance(),L=k.keyStatus.altKey||(isWindows||isLinux)&&k.keyStatus.shiftKey;fillInActions(y,r,L,g?z=>z===g:z=>z==="navigation")}function createAndFillInActionBarActions(n,e,t,i,r,g){let y,k,L,z,V;if(Array.isArray(n))V=n,y=e,k=t,L=i,z=r;else{const ie=e;V=n.getActions(ie),y=t,k=i,L=r,z=g}fillInActions(V,y,!1,typeof k=="string"?ie=>ie===k:k,L,z)}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[z,V]of n){let j;i(z)?(j=y,j.length>0&&g&&j.push(new Separator)):(j=k,j.length>0&&j.push(new Separator));for(let ie of V){t&&(ie=ie instanceof MenuItemAction&&ie.alt?ie.alt:ie);const oe=j.push(ie);ie instanceof SubmenuAction&&L.add({group:z,action:ie,index:oe-1})}}for(const{group:z,action:V,index:j}of L){const ie=i(z)?y:k,oe=V.actions;r(V,z,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._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),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 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(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 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("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(),z=L?localize("titleAndKb","{0} ({1})",y,L):y;r=localize("titleAndKbAndAlt","{0}\n[{1}] {2}",r,UILabelProvider.modifierLabels[OS].altKey,z)}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(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$2n([__param$2g(2,IKeybindingService),__param$2g(3,INotificationService),__param$2g(4,IContextKeyService),__param$2g(5,IThemeService),__param$2g(6,IContextMenuService),__param$2g(7,IAccessibilityService)],MenuEntryActionViewItem);class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem{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({key:"content2",comment:['A label with keybindg like "ESC to dismiss"']},"{1} to {0}",this._action.label,i):this.label.textContent=localize({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=class extends DropdownMenuActionViewItem{constructor(e,t,i,r,g){var k,L,z;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.isThemeIcon(e.item.icon)?ThemeIcon.asClassName(e.item.icon):void 0,keybindingProvider:(z=t==null?void 0:t.keybindingProvider)!=null?z:V=>i.lookupKeybinding(V.id)};super(e,{getActions:()=>e.actions},r,y),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$2n([__param$2g(2,IKeybindingService),__param$2g(3,IContextMenuService),__param$2g(4,IThemeService)],SubmenuEntryActionViewItem);let DropdownWithDefaultActionViewItem=class extends BaseActionViewItem{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 z;const V=t!=null&&t.persistLastActionId?L.get(this._storageKey,1):void 0;V&&(z=e.actions.find(ae=>V===ae.id)),z||(z=e.actions[0]),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,z,{keybinding:this._getDefaultActionKeybindingLabel(z)});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};this._dropdown=new DropdownMenuActionViewItem(e,e.actions,this._contextMenuService,j),this._register(this._dropdown.actionRunner.onDidRun(ae=>{ae.action instanceof MenuItemAction&&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,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 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=$$f(".action-container");this._defaultAction.render(append$2(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$2(this._container,i)),this._register(addDisposableListener(i,EventType$1.KEY_DOWN,r=>{var y;const g=new StandardKeyboardEvent(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=__decorate$2n([__param$2g(2,IKeybindingService),__param$2g(3,INotificationService),__param$2g(4,IContextMenuService),__param$2g(5,IMenuService),__param$2g(6,IInstantiationService),__param$2g(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$2n([__param$2g(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 g,y,k,L,z,V,j;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=(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:(V=(z=this.options.triggerKeys)==null?void 0:z.keys)!=null?V:[3,10]},this._hoverDelegate=(j=t.hoverDelegate)!=null?j: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 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(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;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&&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(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?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(this.context,g,L)),this.options.allowContextMenu||this.viewItemDisposables.set(k,addDisposableListener(y,EventType$1.CONTEXT_MENU,z=>{EventHelper$1.stop(z,!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,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.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.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$5(r.focus)||(k=!1),this.options.focusOnlyEnabledItems&&isFunction$5(r.isEnabled)&&!r.isEnabled()&&(k=!1),r.action.id===Separator.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){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:z=>this.doGetActionViewItem(z,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,z=>{new StandardKeyboardEvent(z).equals(2)&&z.preventDefault()})),i.enableMnemonics&&this._register(addDisposableListener(g,EventType$1.KEY_DOWN,z=>{const V=z.key.toLocaleLowerCase();if(this.mnemonics.has(V)){EventHelper$1.stop(z,!0);const j=this.mnemonics.get(V);if(j.length===1&&(j[0]instanceof SubmenuMenuActionViewItem&&j[0].container&&this.focusItemByElement(j[0].container),j[0].onClick(z)),j.length>1){const ie=j.shift();ie&&ie.container&&(this.focusItemByElement(ie.container),j.push(ie)),this.mnemonics.set(V,j)}}})),isLinux&&this._register(addDisposableListener(g,EventType$1.KEY_DOWN,z=>{const V=new StandardKeyboardEvent(z);V.equals(14)||V.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),EventHelper$1.stop(z,!0)):(V.equals(13)||V.equals(12))&&(this.focusedItem=0,this.focusPrevious(),EventHelper$1.stop(z,!0))})),this._register(addDisposableListener(this.domNode,EventType$1.MOUSE_OUT,z=>{const V=z.relatedTarget;isAncestor$1(V,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),z.stopPropagation())})),this._register(addDisposableListener(this.actionsList,EventType$1.MOUSE_OVER,z=>{let V=z.target;if(!(!V||!isAncestor$1(V,this.actionsList)||V===this.actionsList)){for(;V.parentElement!==this.actionsList&&V.parentElement!==null;)V=V.parentElement;if(V.classList.contains("action-item")){const j=this.focusedItem;this.setFocusedItem(V),j!==this.focusedItem&&this.updateFocus()}}})),this._register(Gesture.addTarget(this.actionsList)),this._register(addDisposableListener(this.actionsList,EventType.Tap,z=>{let V=z.initialTarget;if(!(!V||!isAncestor$1(V,this.actionsList)||V===this.actionsList)){for(;V.parentElement!==this.actionsList&&V.parentElement!==null;)V=V.parentElement;if(V.classList.contains("action-item")){const j=this.focusedItem;this.setFocusedItem(V),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,z=>{EventHelper$1.stop(z,!0);const V=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:V-z.translationY})})),this._register(addDisposableListener(k,EventType$1.MOUSE_UP,z=>{z.preventDefault()}));const L=getWindow$2(e);g.style.maxHeight="".concat(Math.max(10,L.innerHeight-e.getBoundingClientRect().top-35),"px"),t=t.filter((z,V)=>{var j;return(j=i.submenuIds)!=null&&j.has(z.id)?(console.warn("Found submenu cycle: ".concat(z.id)),!1):!(z instanceof Separator&&(V===t.length-1||V===0||t[V-1]instanceof Separator))}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(z=>!(z instanceof MenuSeparatorActionViewItem)).forEach((z,V,j)=>{z.updatePositionInSet(V+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 L,z;const i=(L=t.foregroundColor)!=null?L:"",r=(z=t.backgroundColor)!=null?z:"",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(this.element,EventType$1.MOUSE_UP,g=>{if(EventHelper$1.stop(g,!0),isFirefox$1){if(new StandardMouseEvent(getWindow$2(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$2(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$2(this.item,$$f("span.menu-item-check"+ThemeIcon.asCSSSelector(Codicon.menuSelection))),this.check.setAttribute("role","none"),this.label=append$2(this.item,$$f("span.action-label")),this.options.label&&this.options.keybinding&&(append$2(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.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.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$2(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(V).equals(15)&&(EventHelper$1.stop(V,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(addDisposableListener(this.submenuContainer,EventType$1.KEY_DOWN,V=>{new StandardKeyboardEvent(V).equals(15)&&EventHelper$1.stop(V,!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)}}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 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}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=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 V;this.lastContainer=g;const y=e.getMenuClassName?e.getMenuClassName():"";y&&(g.className+=" "+y),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",(V=this.blockDisposable)==null||V.dispose(),this.blockDisposable=addDisposableListener(this.block,EventType$1.MOUSE_DOWN,j=>j.stopPropagation()));const k=new DisposableStore,L=e.actionRunner||new ActionRunner;L.onWillRun(j=>this.onActionRun(j,!e.skipTelemetry),this,k),L.onDidRun(this.onDidActionRun,this,k),i=new Menu(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),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,k),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,k);const z=getWindow$2(g);return k.add(addDisposableListener(z,EventType$1.BLUR,()=>this.contextViewService.hideContextView(!0))),k.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(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()===this.lastContainer||isAncestor$1(getActiveElement(),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(e.error)&&this.notificationService.error(e.error)}}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$2f=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.call(e,t),this._onDidHideContextMenu.fire()}}),ModifierKeyEmitter.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};ContextMenuService=__decorate$2m([__param$2f(0,ITelemetryService),__param$2f(1,INotificationService),__param$2f(2,IContextViewService),__param$2f(3,IKeybindingService),__param$2f(4,IMenuService),__param$2f(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 z=[];if(y){const V=r.getMenuActions(y,L!=null?L:g,k);createAndFillInContextMenuActions(V,z)}return i.getActions?Separator.join(i.getActions(),z):z}}}n.transform=t})(ContextMenuMenuDelegate||(ContextMenuMenuDelegate={}));var EditorOpenSource;(function(n){n[n.API=0]="API",n[n.USER=1]="USER"})(EditorOpenSource||(EditorOpenSource={}));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$2e=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$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=__decorate$2l([__param$2e(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$2l([__param$2e(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 g;const i=typeof e=="string"?URI.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.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$2l([__param$2e(0,ICodeEditorService),__param$2e(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"),editorLineHighlight=registerColor("editor.lineHighlightBackground",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."));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."));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",editorCursorForeground,localize("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),editorMultiCursorPrimaryBackground=registerColor("editorMultiCursor.primary.background",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",editorCursorForeground,localize("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),editorMultiCursorSecondaryBackground=registerColor("editorMultiCursor.secondary.background",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",editorWhitespaces,localize("editorIndentGuides","Color of the editor indentation guides."),!1,localize("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),deprecatedEditorActiveIndentGuides=registerColor("editorIndentGuide.activeBackground",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",deprecatedEditorIndentGuides,localize("editorIndentGuides1","Color of the editor indentation guides (1).")),editorIndentGuide2=registerColor("editorIndentGuide.background2","#00000000",localize("editorIndentGuides2","Color of the editor indentation guides (2).")),editorIndentGuide3=registerColor("editorIndentGuide.background3","#00000000",localize("editorIndentGuides3","Color of the editor indentation guides (3).")),editorIndentGuide4=registerColor("editorIndentGuide.background4","#00000000",localize("editorIndentGuides4","Color of the editor indentation guides (4).")),editorIndentGuide5=registerColor("editorIndentGuide.background5","#00000000",localize("editorIndentGuides5","Color of the editor indentation guides (5).")),editorIndentGuide6=registerColor("editorIndentGuide.background6","#00000000",localize("editorIndentGuides6","Color of the editor indentation guides (6).")),editorActiveIndentGuide1=registerColor("editorIndentGuide.activeBackground1",deprecatedEditorActiveIndentGuides,localize("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),editorActiveIndentGuide2=registerColor("editorIndentGuide.activeBackground2","#00000000",localize("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),editorActiveIndentGuide3=registerColor("editorIndentGuide.activeBackground3","#00000000",localize("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),editorActiveIndentGuide4=registerColor("editorIndentGuide.activeBackground4","#00000000",localize("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),editorActiveIndentGuide5=registerColor("editorIndentGuide.activeBackground5","#00000000",localize("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),editorActiveIndentGuide6=registerColor("editorIndentGuide.activeBackground6","#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",deprecatedEditorActiveLineNumber,localize("editorActiveLineNumber","Color of editor active line number"));const editorDimmedLineNumber=registerColor("editorLineNumber.dimmedForeground",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",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."));const ghostTextForeground=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",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",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","#00000000",localize("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground5=registerColor("editorBracketHighlight.foreground5","#00000000",localize("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground6=registerColor("editorBracketHighlight.foreground6","#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(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},localize("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),editorBracketPairGuideBackground1=registerColor("editorBracketPairGuide.background1","#00000000",localize("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground2=registerColor("editorBracketPairGuide.background2","#00000000",localize("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground3=registerColor("editorBracketPairGuide.background3","#00000000",localize("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground4=registerColor("editorBracketPairGuide.background4","#00000000",localize("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground5=registerColor("editorBracketPairGuide.background5","#00000000",localize("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground6=registerColor("editorBracketPairGuide.background6","#00000000",localize("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground1=registerColor("editorBracketPairGuide.activeBackground1","#00000000",localize("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground2=registerColor("editorBracketPairGuide.activeBackground2","#00000000",localize("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground3=registerColor("editorBracketPairGuide.activeBackground3","#00000000",localize("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground4=registerColor("editorBracketPairGuide.activeBackground4","#00000000",localize("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground5=registerColor("editorBracketPairGuide.activeBackground5","#00000000",localize("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground6=registerColor("editorBracketPairGuide.activeBackground6","#00000000",localize("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));registerColor("editorUnicodeHighlight.border",editorWarningForeground,localize("editorUnicodeHighlight.border","Border color used to highlight unicode characters."));registerColor("editorUnicodeHighlight.background",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,"; }"))});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$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$2d=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 i;const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===Schemas.inMemory||e.uri.scheme===Schemas.internal||e.uri.scheme===Schemas.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=__decorate$2k([__param$2d(0,IModelService),__param$2d(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}}const IMarkerDecorationsService=createDecorator("markerDecorationsService");class CursorColumns{static _nextVisibleColumn(e,t,i){return e===9?CursorColumns.nextRenderTabStop(t,i):isFullWidthCharacter(e)||isEmojiImprecise(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(g);let k=0;for(;!y.eol();){const L=getNextCodePoint(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(e);let y=0,k=1;for(;!g.eol();){const L=getNextCodePoint(e,r,g.offset);g.nextGraphemeLength();const z=this._nextVisibleColumn(L,y,i),V=g.offset+1;if(z>=t){const j=t-y;return z-t=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,z=0,V=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(z!==re){let le;if(V===k){const de=re-z;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(i,r),r=y):r=concat(r,y);return concat(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(n,e){return n.listHeight===e.listHeight?ListAstNode.create23(n,e,null,!1):n.listHeight>e.listHeight?append$1(n,e):prepend(e,n)}function append$1(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(z){if(z===void 0){const j=t.takeWhile(ie=>!0)||[];return r&&j.unshift(r),j}const V=[];for(;r&&!lengthIsZero(z);){const[j,ie]=r.splitAt(z);V.push(j),z=lengthDiffNonNegative(j.lengthAfter,z),r=ie!=null?ie:t.dequeue()}return lengthIsZero(z)||V.push(new LengthMapping(!1,z,z)),V}const y=[];function k(z,V,j){if(y.length>0&&lengthEquals(y[y.length-1].endOffset,z)){const ie=y[y.length-1];y[y.length-1]=new TextEditInfo(ie.startOffset,V,lengthAdd(ie.newLength,j))}else y.push({startOffset:z,endOffset:V,newLength:j})}let L=lengthZero;for(const z of i){const V=g(z.lengthBefore);if(z.modified){const j=sumLengths(V,oe=>oe.lengthBefore),ie=lengthAdd(L,j);k(L,ie,z.lengthAfter),L=ie}else for(const j of V){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,z,V=!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 V=0;if(k){let oe=k.get(n.openingBracket.text);oe===void 0&&(oe=0),V=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)),L=g.push(new BracketPairWithMinIndentationInfo(lengthsToRange(e,t),lengthsToRange(e,j),n.closingBracket?lengthsToRange(lengthAdd(j,((z=n.child)==null?void 0:z.length)||lengthZero),t):void 0,y,V,n,ie)),e=j,L&&n.child){const oe=n.child;if(t=lengthAdd(e,oe.length),lengthLessThanEqual(e,r)&&lengthGreaterThanEqual(t,i)&&(L=collectBracketPairs(oe,e,t,i,r,g,y+1,k),!L))return!1}k==null||k.set(n.openingBracket.text,V)}else{let V=e;for(const j of n.children){const ie=V;if(V=lengthAdd(V,j.length),lengthLessThanEqual(ie,r)&&lengthLessThanEqual(i,V)&&(L=collectBracketPairs(j,ie,V,i,r,g,y,k),!L))return!1}}return L}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}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;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?void 0:t.object.getBracketPairsInRange(e,!1))||CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)==null?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?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 z=r-1;z>=0;z--){const V=t.getEndOffset(z);if(V<=k)break;if(ignoreBracketsInToken(t.getStandardTokenType(z))||t.getLanguageId(z)!==y){k=V;break}}let L=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let z=r+1;z=L)break;if(ignoreBracketsInToken(t.getStandardTokenType(z))||t.getLanguageId(z)!==y){L=V;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:z}=this._establishBracketSearchOffsets(e,r,k,y),V=null;for(;;){const j=BracketsUtils.findNextBracketInRange(k.forwardRegex,i,g,L,z);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;V=oe}}L=j.endColumn-1}if(V)return V}if(y>0&&r.getStartOffset(y)===e.column-1){const L=y-1,z=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(L)).brackets;if(z&&!ignoreBracketsInToken(r.getStandardTokenType(L))){const{searchStartOffset:V,searchEndOffset:j}=this._establishBracketSearchOffsets(e,r,z,L),ie=BracketsUtils.findPrevBracketInRange(z.reversedRegex,i,g,V,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,z.textIsBracket[oe],z.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=(z,V,j,ie)=>{for(;;){if(i&&++k%100===0&&!i())return BracketSearchCanceled.INSTANCE;const oe=BracketsUtils.findPrevBracketInRange(g,z,V,j,ie);if(!oe)break;const re=V.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 z=t.lineNumber;z>=1;z--){const V=this.textModel.tokenization.getLineTokens(z),j=V.getCount(),ie=this.textModel.getLineContent(z);let oe=j-1,re=ie.length,ae=ie.length;z===t.lineNumber&&(oe=V.findTokenIndexAtOffset(t.column-1),re=t.column-1,ae=t.column-1);let le=!0;for(;oe>=0;oe--){const de=V.getLanguageId(oe)===r&&!ignoreBracketsInToken(V.getStandardTokenType(oe));if(de)le?re=V.getStartOffset(oe):(re=V.getStartOffset(oe),ae=V.getEndOffset(oe));else if(le&&re!==ae){const ue=L(z,ie,re,ae);if(ue)return ue}le=de}if(le&&re!==ae){const de=L(z,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=(V,j,ie,oe)=>{for(;;){if(i&&++k%100===0&&!i())return BracketSearchCanceled.INSTANCE;const re=BracketsUtils.findNextBracketInRange(g,V,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},z=this.textModel.getLineCount();for(let V=t.lineNumber;V<=z;V++){const j=this.textModel.tokenization.getLineTokens(V),ie=j.getCount(),oe=this.textModel.getLineContent(V);let re=0,ae=0,le=0;V===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),z=L.getCount(),V=this.textModel.getLineContent(k);let j=z-1,ie=V.length,oe=V.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.findPrevBracketInRange(r.reversedRegex,k,V,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(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.findPrevBracketInRange(r.reversedRegex,k,V,ie,oe);if(de)return this._toFoundBracket(g,de)}re=le}if(g&&r&&re&&ie!==oe){const ae=BracketsUtils.findPrevBracketInRange(r.reversedRegex,k,V,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 z=this.textModel.tokenization.getLineTokens(L),V=z.getCount(),j=this.textModel.getLineContent(L);let ie=0,oe=0,re=0;if(L===t.lineNumber){ie=z.findTokenIndexAtOffset(t.column-1),oe=t.column-1,re=t.column-1;const le=z.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(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&&++z%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 _e=re.getLanguageId(de);j!==_e&&(j=_e,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}}const Ra=class Ra{constructor(){this._searchCanceledBrand=void 0}};Ra.INSTANCE=new Ra;let BracketSearchCanceled=Ra;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;g0&&(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((z,V)=>({index:V,textChange:z.textChange}));return L.sort((z,V)=>z.textChange.oldPosition===V.textChange.oldPosition?z.index-V.index:z.textChange.oldPosition-V.textChange.oldPosition),g.append(this._model,L.map(z=>z.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 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,z=-2,V=-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(z===-2){z=-1,V=-1;for(let Ie=xe;Ie=0){z=Ie,V=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,_e=0,Ce=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 $e=-1;if(ue&&Ie>=1){const Fe=this._computeIndentLevel(Ie-1);Fe>=0?(z=Ie-1,V=Fe,$e=Math.ceil(Fe/this.textModel.getOptions().indentSize)):(j(Ie),$e=this._getIndentLevelForWhitespaceLine(y,L,V))}let Oe=-1;if(pe&&Ne<=r){const Fe=this._computeIndentLevel(Ne-1);Fe>=0?(ie=Ne-1,oe=Fe,Oe=Math.ceil(Fe/this.textModel.getOptions().indentSize)):(le(Ne),Oe=this._getIndentLevelForWhitespaceLine(y,oe,ae))}if(xe===0){Ce=$e;continue}if(xe===1){if(Ne<=r&&Oe>=0&&Ce+1===Oe){ue=!1,de=Ne,he=Ne,_e=Oe;continue}if(Ie>=1&&$e>=0&&$e-1===Ce){pe=!1,de=Ie,he=Ie,_e=$e;continue}if(de=e,he=e,_e=Ce,_e===0)return{startLineNumber:de,endLineNumber:he,indent:_e}}ue&&($e>=_e?de=Ie:ue=!1),pe&&(Oe>=_e?he=Ne:pe=!1)}return{startLineNumber:de,endLineNumber:he,indent:_e}}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$2(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$2.fromPositions(i)).toArray()).filter(oe=>Range$2.strictContainsPosition(oe.range,i));L=(j=findLast$1(ie,oe=>y))==null?void 0:j.range}const z=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,V=new BracketPairGuidesClassNames;for(const ie of k){if(!ie.closingBracketRange)continue;const oe=L&&ie.range.equalsRange(L);if(!oe&&!r.includeInactive)continue;const re=V.getInlineClassName(ie.nestingLevel,ie.nestingLevelOfEqualBracketType,z)+(r.highlightActive&&oe?" "+V.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&&g[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 _e=!1;firstNonWhitespaceIndex(this.textModel.getLineContent(ie.closingBracketRange.startLineNumber))=e&&he>pe&&g[ae.lineNumber-e].push(new IndentGuide(pe,-1,re,new IndentGuideHorizontalLine(!1,ae.column),-1,-1)),le.lineNumber<=t&&ue>pe&&g[le.lineNumber-e].push(new IndentGuide(pe,-1,re,new IndentGuideHorizontalLine(!_e,le.column),-1,-1)))}for(const ie of g)ie.sort((oe,re)=>oe.visibleColumn-re.visibleColumn);return g}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,z=-1,V=-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,z=re,k[oe]=Math.ceil(re/r.indentSize);continue}if(L===-2){L=-1,z=-1;for(let ae=ie-2;ae>=0;ae--){const le=this._computeIndentLevel(ae);if(le>=0){L=ae,z=le;break}}}if(V!==-1&&(V===-2||V=0){V=ae,j=le;break}}}k[oe]=this._getIndentLevelForWhitespaceLine(y,z,j)}return k}_getIndentLevelForWhitespaceLine(e,t,i){const r=this.textModel.getOptions();return t===-1||i===-1?0:t0&&k>0||L>0&&z>0)return;const V=Math.abs(k-z),j=Math.abs(y-L);if(V===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 Ce=j.spacesDiff;Ce<=z&&V[Ce]++,y=le,k=he}let ie=t;r!==g&&(ie=r{const le=V[ae];le>re&&(re=le,oe=ae)}),oe===4&&V[4]>0&&V[2]>0&&V[2]>=V[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,z=i,V=Math.min(L,z),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(V>0&&!r){const le=L>z?2:0;!ie&&adjustMarkerBeforeColumn(j,y,e+V,le)&&(ie=!0),!re&&adjustMarkerBeforeColumn(oe,k,e+V,le)&&(re=!0)}{const le=r?1:0;!ie&&adjustMarkerBeforeColumn(j,y,t,le)&&(n.start=e+z,ie=!0),!re&&adjustMarkerBeforeColumn(oe,k,t,le)&&(n.end=e+z,re=!0)}const ae=z-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 z=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[z++]=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 z=[];let V=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&&(z[V++]=g),setNodeIsVisited(g,!0),g.right!==SENTINEL$1&&!getNodeIsVisited(g.right)){y+=g.delta,g=g.right;continue}}return setNodeIsVisited(n.root,!1),z}function intervalSearch(n,e,t,i,r,g,y){let k=n.root,L=0,z=0,V=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(z=L+k.maxEnd,zt){setNodeIsVisited(k,!0);continue}if(j=L+k.end,j>=e){k.setCachedOffsets(V,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,z=k-t.parent.lf_left;t.parent.size_left=y,t.parent.lf_left=k,updateTreeMetadata(n,t.parent,L,z)}}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 z=this.getNodeContent(L),V=z.length;if(y<=i||y+V0){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,z=this.offsetInBuffer(k.piece.bufferIndex,k.piece.start);return L.substring(z+e.remainder,z+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,z=this._buffers[y.bufferIndex].lineStarts,V=y.start.line,j=y.end.line;let ie=z[V]+y.start.column;if(r&&(L.charCodeAt(ie)===10&&(ie++,k--),e[t++]=i,i="",r=!1,k===0))return!0;if(V===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,z[V+1]-this._EOLLength)):L.substring(ie,z[V+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let oe=V+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 V;this.positionInBuffer(e,he(le.index)-oe,de);const pe=this.getLineFeedCnt(e.piece.bufferIndex,g,de),_e=de.line===g.line?de.column-g.column+r:de.column+1,Ce=_e+le[0].length;if(j[V++]=createFindMatch(new Range$2(i+pe,_e,i+pe,Ce),le,L),he(le.index)+le[0].length>=ae||V>=z)return V}while(le);return V}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 z=this.nodeAt2(e.endLineNumber,e.endColumn);if(z===null)return[];let V=this.positionInBuffer(L.node,L.remainder);const j=this.positionInBuffer(z.node,z.remainder);if(L.node===z.node)return this.findMatchesInNode(L.node,k,e.startLineNumber,e.startColumn,V,j,t,i,r,y,g),g;let ie=e.startLineNumber,oe=L.node;for(;oe!==z.node;){const ae=this.getLineFeedCnt(oe.piece.bufferIndex,V,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[V.line+ae],pe=ie===e.startLineNumber?e.startColumn:1;if(y=this.findMatchesInNode(oe,k,ie,pe,V,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,V=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(z.node,k,ie,re,V,j,t,i,r,y,g),g}_findMatchesInLine(e,t,i,r,g,y,k,L,z){const V=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((!V||isValidMatch(V,i,re,ae,oe))&&(k[y++]=new FindMatch(new Range$2(r,ae+1+g,r,ae+1+oe+g),null),y>=z))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>=z))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,z=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 V=[];let j=new Piece(k.bufferIndex,z,k.end,this.getLineFeedCnt(k.bufferIndex,z,k.end),this.offsetInBuffer(L,k.end)-this.offsetInBuffer(L,z));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&&V.push(r)}else this.deleteNodeTail(r,z);else this.deleteNodeTail(r,z);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)z=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 V=[];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);V.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 V.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)),V}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 V=0;V=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),z=this.getAccumulatedValue(i,e-i.lf_left-1),V=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)}),V.substring(j+L,j+z-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const L=this.getAccumulatedValue(i,e-i.lf_left-2),z=this._buffers[i.piece.bufferIndex].buffer,V=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r=z.substring(V+L,V+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),z=L-r,V=k-g,j=i.length+V;e.piece=new Piece(i.bufferIndex,i.start,y,L,j),updateTreeMetadata(this,e,V,z)}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),z=k-r,V=g-L,j=i.length+V;e.piece=new Piece(i.bufferIndex,y,i.end,k,j),updateTreeMetadata(this,e,V,z)}shrinkNode(e,t,i){const r=e.piece,g=r.start,y=r.end,k=r.length,L=r.lineFeedCnt,z=t,V=this.getLineFeedCnt(r.bufferIndex,r.start,z),j=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,g);e.piece=new Piece(r.bufferIndex,r.start,z,V,j),updateTreeMetadata(this,e,j-k,V-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},z=t.piece.length-1,V=this.getLineFeedCnt(t.piece.bufferIndex,L,t.piece.end);t.piece=new Piece(t.piece.bufferIndex,L,t.piece.end,V,z),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 z=L.join(""),[V,j,ie]=countEOL(z);return{sortIndex:0,identifier:e[0].identifier,range:g,rangeOffset:this.getOffsetAt(g.startLineNumber,g.startColumn),rangeLength:this.getValueLengthInRange(g,0),text:z,eolCount:V,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(z,V,z,V+L.firstLineLength):j=new Range$2(z,V,z+ie-1,L.lastLineLength+1)}else j=new Range$2(z,V,z,V);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,z){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=z}_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 z=L.findTokenIndexAtOffset(e.column-1);return L.getStandardTokenType(z)}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),z=this._textModel.getLanguageIdAtPosition(r,0),V=safeTokenize(this._languageIdCodec,z,this.tokenizationSupport,L,!0,y);return new LineTokens(V.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 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$1(e,t))}}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 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$2(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{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$1),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new Emitter$1),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(i,t,this._languageIdCodec)}return LineTokens.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("treeSitterParserService"),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(iV&&(r[z++]=re,r[z++]=r[(oe<<1)+1],V=re)}if(z===r.length)return e;const ie=new Uint32Array(z);return ie.set(r.subarray(0,z),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 z=0;z>>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,z]=k.split(i);if(L.isEmpty()){r=r||{index:g};continue}z.isEmpty()||(this._pieces.splice(g,1,L,z),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 z=[];let V=0,j=0;const ie=(oe,re)=>{oe!==j&&(j=oe,z[V++]=oe,z[V++]=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$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$2c=function(n,e){return function(t,i){e(t,i,n)}},TokenizationTextModelPart_1;let TokenizationTextModelPart=TokenizationTextModelPart_1=class extends TextModelPart{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(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._tokensDisposables=this._register(new DisposableStore),this._register(this._languageConfigurationService.onDidChange(L=>{L.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(Event$1.filter(TreeSitterTokenizationRegistry.onDidChange,L=>L.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new GrammarTokens(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||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(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("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(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[z,V]=TokenizationTextModelPart_1._findLanguageBoundaries(r,g-1),j=getWordAtText(t.column,this.getLanguageConfiguration(r.getLanguageId(g-1)).getWordDefinition(),i.substring(z,V),z);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 g;this._tokens.flush(),(g=this._debugBackgroundTokens)==null||g.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new TrackingTokenizationStateStore(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.get(this.getLanguageId());if(!y)return[null,null];let k;try{k=y.getInitialState()}catch(L){return onUnexpectedError(L),[null,null]}return[y,k]},[i,r]=t();if(i&&r?this._tokenizer=new TokenizerWithStateStoreAndTextModel(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 V;if(!this._tokenizer)return;const z=this._tokenizer.store.getFirstInvalidEndStateLineNumber();z!==null&&k>=z&&((V=this._tokenizer)==null||V.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(this._tokenizer,y),this._defaultBackgroundTokenizer.handleChanges()),i!=null&&i.backgroundTokenizerShouldOnlyVerifyTokens&&i.createBackgroundTokenizer?(this._debugBackgroundTokens=new ContiguousTokensStore(this._languageIdCodec),this._debugBackgroundStates=new TrackingTokenizationStateStore(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 z;(z=this._debugBackgroundStates)==null||z.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(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$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 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,{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;(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$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 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;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$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$1=()=>{throw new Error("Invalid change accessor")};var no;let TextModel=(no=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,L){super(),this._undoRedoService=g,this._languageService=y,this._languageConfigurationService=k,this.instantiationService=L,this._onWillDispose=this._register(new Emitter$1),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new DidChangeDecorationsEmitter(re=>this.handleBeforeFireDecorationsChangedEvent(re))),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:z,disposable:V}=createTextBuffer(e,i.defaultEOL);this._buffer=z,this._bufferDisposable=V,this._options=TextModel_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(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new GuidesTextModelPart(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ColorizedBracketPairsDecorationProvider(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(TokenizationTextModelPart,this,this._bracketPairs,j,this._attachedViews);const ie=this._buffer.getLineCount(),oe=this._buffer.getValueLengthInRange(new Range$2(1,1,ie,this._buffer.getLineLength(ie)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=oe>TextModel_1.LARGE_FILE_SIZE_THRESHOLD||ie>TextModel_1.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=oe>TextModel_1.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=oe>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(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([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new BugIndicatingError("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 z=Math.floor(typeof k=="number"&&!isNaN(k)?k:1),V=Math.floor(typeof L=="number"&&!isNaN(L)?L:1);if(z<1)z=1,V=1;else if(z>t)z=t,V=this.getLineMaxColumn(z);else if(V<=1)V=1;else{const j=this.getLineMaxColumn(z);V>=j&&(V=j)}return i===g&&r===y&&k===z&&L===V&&e instanceof Range$2&&!(e instanceof Selection$1)?e:new Range$2(g,y,z,V)}_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,z=isHighSurrogate(k),V=isHighSurrogate(L);return!z&&!V}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 z=y>1?this._buffer.getLineCharCode(g,y-2):0,V=L>1&&L<=this._buffer.getLineLength(k)?this._buffer.getLineCharCode(k,L-2):0,j=isHighSurrogate(z),ie=isHighSurrogate(V);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 z=[];z.push(L.reduce((j,ie)=>Range$2.areIntersecting(j,ie)?j.plusRange(ie):(z.push(j),ie)));let V;if(!i&&e.indexOf("\n")<0){const ie=new SearchParams(e,i,r,g).parseSearchRequest();if(!ie)return[];V=oe=>this.findMatchesLineByLine(oe,ie,y,k)}else V=j=>TextModelSearch.findMatches(this,new SearchParams(e,i,r,g),j,y,k);return z.map(V).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 z=new SearchParams(e,i,r,g).parseSearchRequest();if(!z)return null;const V=this.getLineCount();let j=new Range$2(k.lineNumber,k.column,V,this.getLineMaxColumn(V)),ie=this.findMatchesLineByLine(j,z,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,z,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;kz.endLineNumber,ae=z.startLineNumber>oe.endLineNumber;if(!re&&!ae){V=!0;break}}if(!V){y=!1;break}}if(y)for(let k=0,L=this._trimAutoWhitespaceLines.length;kre.endLineNumber)&&!(z===re.startLineNumber&&re.startColumn===V&&re.isEmpty()&&ae&&ae.length>0&&ae.charAt(0)==="\n")&&!(z===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(z,1,z,V);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 z=0,V=y.length;z=0;Ne--){const $e=oe+Ne,Oe=he+Ne;Ie.takeFromEndWhile(Et=>Et.lineNumber>Oe);const Fe=Ie.takeFromEndWhile(Et=>Et.lineNumber===Oe);k.push(new ModelRawLineChanged($e,this.getLineContent(Oe),Fe))}if(dekt.lineNumberkt.lineNumber===Ve)}k.push(new ModelRawLinesInserted($e+1,oe+le,ze,Et))}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$1,i.changeDecoration=invalidFunc$1,i.changeDecorationOptions=invalidFunc$1,i.removeDecoration=invalidFunc$1,i.deltaDecorations=invalidFunc$1,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)),z=this.getLineMaxColumn(L),V=new Range$2(k,1,L,z),j=this._getDecorationsInRange(V,i,r,g);return pushMany(j,this._decorationProvider.getDecorationsInRange(V,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 z=0;this._onDidChangeDecorations.beginDeferredEmit();try{const V=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_1=no,no._MODEL_SYNC_LIMIT=50*1024*1024,no.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,no.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,no.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024,no.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},no);TextModel=TextModel_1=__decorate$2i([__param$2b(4,IUndoRedoService),__param$2b(5,ILanguageService),__param$2b(6,ILanguageConfigurationService),__param$2b(7,IInstantiationService)],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),z=this._injectedTextDecorationsTree.intervalSearch(e,t,i,r,g,y);return k.concat(L).concat(z)}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: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: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$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: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(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(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:!1,this.hideInStringTokens=(k=e.hideInStringTokens)!=null?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.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)}}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)}}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$2a=function(n,e){return function(t,i){e(t,i,n)}},ModelService_1;function MODEL_ID(n){return n.toString()}let ModelData$1=class{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}}var gr;let ModelService=(gr=class extends Disposable{constructor(e,t,i,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._instantiationService=r,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(g=>this._updateModelOptions(g))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var ie;let i=EDITOR_MODEL_DEFAULTS.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.insertSpaces;e.editor&&typeof e.editor.insertSpaces<"u"&&(g=e.editor.insertSpaces==="false"?!1:!!e.editor.insertSpaces);let y=DEFAULT_EOL;const k=e.eol;k==="\r\n"?y=2:k==="\n"&&(y=1);let L=EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(L=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 V=EDITOR_MODEL_DEFAULTS.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(V=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let j=EDITOR_MODEL_DEFAULTS.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:z,defaultEOL:y,trimAutoWhitespace:L,largeFileOptimizations:V,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===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=this._instantiationService.createInstance(TextModel,e,t,g,i);if(i&&this._disposedModels.has(MODEL_ID(i))){const z=this._removeDisposedModel(i),V=this._undoRedoService.getElements(i),j=this._getSHA1Computer(),ie=j.canComputeSHA1(y)?j.computeSHA1(y)===z.sha1:!1;if(ie||z.sharesUndoRedoStack){for(const oe of V.past)isEditStackElement(oe)&&oe.matchesResource(i)&&oe.setModel(y);for(const oe of V.future)isEditStackElement(oe)&&oe.matchesResource(i)&&oe.setModel(y);this._undoRedoService.setElementsValidFlag(i,!0,oe=>isEditStackElement(oe)&&oe.matchesResource(i)),ie&&(y._overwriteVersionId(z.versionId),y._overwriteAlternativeVersionId(z.alternativeVersionId),y._overwriteInitialUndoRedoSnapshot(z.initialUndoRedoSnapshot))}else z.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(z.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$1(y,z=>this._onWillDispose(z),(z,V)=>this._onDidChangeLanguage(z,V));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||z.future.length>0){for(const V of z.past)isEditStackElement(V)&&V.matchesResource(e.uri)&&(g=!0,y+=V.heapSize(e.uri),V.setModel(e.uri));for(const V of z.future)isEditStackElement(V)&&V.matchesResource(e.uri)&&(g=!0,y+=V.heapSize(e.uri),V.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 z=i.model.getInitialUndoRedoSnapshot();z!==null&&this._undoRedoService.restoreSnapshot(z)}else this._ensureDisposedModelsHeapSize(k-y),this._undoRedoService.setElementsValidFlag(e.uri,!1,z=>isEditStackElement(z)&&z.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 z=i.model.getInitialUndoRedoSnapshot();z!==null&&this._undoRedoService.restoreSnapshot(z)}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_1=gr,gr.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,gr);ModelService=ModelService_1=__decorate$2h([__param$2a(0,IConfigurationService),__param$2a(1,ITextResourcePropertiesService),__param$2a(2,IUndoRedoService),__param$2a(3,IInstantiationService)],ModelService);const $a=class $a{canComputeSHA1(e){return e.getValueLength()<=$a.MAX_MODEL_SIZE}computeSHA1(e){const t=new StringSHA1,i=e.createSnapshot();let r;for(;r=i.read();)t.update(r);return t.digest()}};$a.MAX_MODEL_SIZE=10*1024*1024;let DefaultModelSHA1Computer=$a;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={}));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=createDecorator("quickInputService");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$29=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 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.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,z=(ae=y==null?void 0:y.picker)==null?void 0:ae.value,V=new DisposableStore,j=V.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.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,V.add(Event$1.once(j.onWillAccept)(ue=>{ue.veto(),j.hide()}))),V.add(this.registerPickerListeners(j,r,g,e,i));const oe=V.add(new CancellationTokenSource$1);if(r&&V.add(r.provide(j,oe.token,i==null?void 0:i.providerOptions)),Event$1.once(j.onDidHide)(()=>{j.selectedItems.length===0&&oe.cancel(),V.dispose(),ie==null||ie.complete(j.selectedItems.slice(0))}),j.show(),L&&z===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,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[z]=this.getOrInstantiateProvider(L,g==null?void 0:g.enabledProviderPrefixes);z!==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=__decorate$2g([__param$29(0,IQuickInputService),__param$29(1,IInstantiationService)],QuickAccessController);class Toggle extends Widget$1{constructor(e){var i;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 t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(...ThemeIcon.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("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$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};class LinkedText{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e=="string"?e:e.label).join("")}}__decorate$2f([memoize$1],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)},z=t.disposables.add(new DomEmitter(k,EventType$1.CLICK)).event,V=t.disposables.add(new DomEmitter(k,EventType$1.KEY_DOWN)).event,j=Event$1.chain(V,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(z,ie,j)(L,null,t.disposables),e.appendChild(k)}}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$28=function(n,e){return function(t,i){e(t,i,n)}};const inQuickInputContextKeyValue="inQuickInput",InQuickInputContextKey=new RawContextKey(inQuickInputContextKeyValue,!1,localize("inQuickInput","Whether keyboard focus is inside the quick input control")),inQuickInputContext=ContextKeyExpr.has(inQuickInputContextKeyValue),quickInputTypeContextKeyValue="quickInputType",QuickInputTypeContextKey=new RawContextKey(quickInputTypeContextKeyValue,void 0,localize("quickInputType","The type of the currently visible quick input")),endOfQuickInputBoxContextKeyValue="cursorAtEndOfQuickInputBox",EndOfQuickInputBoxContextKey=new RawContextKey(endOfQuickInputBoxContextKeyValue,!1,localize("cursorAtEndOfQuickInputBox","Whether the cursor in the quick input is at the end of the input box")),endOfQuickInputBoxContext=ContextKeyExpr.has(endOfQuickInputBoxContextKeyValue),backButton={iconClass:ThemeIcon.asClassName(Codicon.quickInputBack),tooltip:localize("quickInput.back","Back")},Aa=class Aa extends Disposable{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=Aa.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 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),this._rightButtons=e.filter(t=>t!==backButton&&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.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=QuickInputHideReason.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(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._leftButtons.map((z,V)=>quickInputButtonToAction(z,"id-".concat(V),async()=>this.onDidTriggerButtonEmitter.fire(z)));this.ui.leftActionBar.push(y,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const k=this._rightButtons.map((z,V)=>quickInputButtonToAction(z,"id-".concat(V),async()=>this.onDidTriggerButtonEmitter.fire(z)));this.ui.rightActionBar.push(k,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const L=this._inlineButtons.map((z,V)=>quickInputButtonToAction(z,"id-".concat(V),async()=>this.onDidTriggerButtonEmitter.fire(z)));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))!=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(this.ui.message),renderQuickInputDescription(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("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()}};Aa.noPromptMessage=localize("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");let QuickInput=Aa;const Ma=class Ma 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._focusEventBufferer=new EventBufferer,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: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$2(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$2(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.visible||this.selectedItemsToConfirm!==this._selectedItems&&equals$2(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.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||Ma.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.NONE:this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.SECOND:this.ui.list.focus(QuickPickFocus.Second),this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.LAST:this.ui.list.focus(QuickPickFocus.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(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))}};Ma.DEFAULT_ARIA_LABEL=localize("quickInputBox.ariaLabel","Type to narrow down results.");let QuickPick=Ma,InputBox$1=class 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.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=class extends WorkbenchHoverDelegate{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=__decorate$2e([__param$28(0,IConfigurationService),__param$28(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 r;if(this._label===e||isMarkdownString(this._label)&&isMarkdownString(e)&&markdownStringEqual(this._label,e))return;this._element.classList.add("monaco-text-button");const t=this.options.supportShortLabel?this._labelElement:this._element;if(isMarkdownString(e)){const g=renderMarkdown(e,{inline:!0});g.dispose();const y=(r=g.element.querySelector("p"))==null?void 0:r.innerHTML;if(y){const k=sanitize$1(y,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});t.innerHTML=k}else reset(t)}else this.options.supportIcons?reset(t,...this.getContentElements(e)):t.textContent=e;let i="";typeof this.options.title=="string"?i=this.options.title:this.options.title&&(i=renderStringAsPlaintext(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.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("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$2(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$1(this.countFormat,this.count),this.element.title=format$1(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="done",CSS_ACTIVE="active",CSS_INFINITE="infinite",CSS_INFINITE_LONG_RUNNING="infinite-long-running",CSS_DISCRETE="discrete",Pa=class Pa extends Disposable{constructor(e,t){super(),this.progressSignal=this._register(new MutableDisposable),this.workedVal=0,this.showDelayedScheduler=this._register(new RunOnceScheduler(()=>show(this.element),0)),this.longRunningScheduler=this._register(new RunOnceScheduler(()=>this.infiniteLongRunning(),Pa.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(),this.progressSignal.clear()}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}};Pa.LONG_RUNNING_INFINITE_THRESHOLD=1e4;let ProgressBar=Pa;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: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: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: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;class InputBox extends Widget$1{constructor(e,t,i){var y;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=(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$2(e,$$b(".monaco-inputbox.idle"));const r=this.options.flexibleHeight?"textarea":"input",g=append$2(this.element,$$b(".ibwrapper"));if(this.input=append$2(g,$$b(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$2(g,$$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$2(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(z=>this.input.scrollTop=z.scrollTop));const k=this._register(new DomEmitter(e.ownerDocument,"selectionchange")),L=Event$1.filter(k.event,()=>{const z=e.ownerDocument.getSelection();return(z==null?void 0:z.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(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("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 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$1(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 L,z;if(!this.message)return null;e=append$2(r,$$b(".monaco-inputbox-container")),t();const g={inline:!0,className:"monaco-inputbox-message"},y=this.message.formatContent?renderFormattedText(this.message.content,g):renderText(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=(z=k.foreground)!=null?z:"",y.style.border=k.border?"1px solid ".concat(k.border):"",append$2(e,y),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 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(r,"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.dispose(),super.dispose()}}class HistoryInputBox extends InputBox{constructor(e,t,i){const r=localize({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({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$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(z=>{z.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 z=this.placeholder.slice(0,this.placeholder.length-L.length);return i.showPlaceholderOnFocus?this.placeholder=z:this.setPlaceHolder(z),!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,z=!!i.flexibleWidth,V=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:z,flexibleMaxHeight:V,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.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;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,z)=>L+z.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 $$a=$$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$2(this.parent,$$a(".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()}}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 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$1,k=g.resolve(e,y.token);i.disposable={dispose:()=>y.cancel()},this.renderer.renderPlaceholder(e,i.data),k.then(z=>this.renderer.renderElement(z,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$2(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$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};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$2(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new DomEmitter(getWindow$2(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}__decorate$2d([memoize$1],MouseEventFactory.prototype,"onPointerMove",null);__decorate$2d([memoize$1],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$2d([memoize$1],GestureEventFactory.prototype,"onPointerMove",null);__decorate$2d([memoize$1],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$2d([memoize$1],OrthogonalPointerEventFactory.prototype,"onPointerMove",null);__decorate$2d([memoize$1],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$2(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$2(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$2(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 z=this._register(new DomEmitter(this.el,EventType.Tap)).event;let V;this._register(z(j=>{if(V){clearTimeout(V),V=void 0,this.onPointerDoublePress(j);return}clearTimeout(V),V=setTimeout(()=>V=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 z=createStyleSheet(this.el),V=()=>{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",z.textContent="* { cursor: ".concat(re," !important; }")},j=new DisposableStore;V(),i||this.onDidEnablementChange.event(V,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),z.remove(),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 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={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.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()}}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 r,g,y,k,L;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=(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$2(this.el,$$f(".sash-container")),this.viewContainer=$$f(".split-view-container"),this.scrollable=this._register(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:z=>scheduleAtNextAnimationFrame(getWindow$2(this.el),z)})),this.scrollableElement=this._register(new SmoothScrollableElement(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(this.viewContainer,"scroll")).event;this._register(i(z=>{const V=this.scrollableElement.getScrollPosition(),j=Math.abs(this.viewContainer.scrollLeft-V.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,ie=Math.abs(this.viewContainer.scrollTop-V.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(z=>{z.scrollTopChanged&&(this.viewContainer.scrollTop=z.scrollTop),z.scrollLeftChanged&&(this.viewContainer.scrollLeft=z.scrollLeft)})),append$2(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||defaultStyles),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((z,V)=>{const j=isUndefined$4(z.visible)||z.visible?z.size:{type:"invisible",cachedVisibleSize:z.size},ie=z.view;this.doAddView(ie,j,V,!0)}),this._contentSize=this.viewItems.reduce((z,V)=>z+V.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$2(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 z=this.viewItems.map(re=>re.size);let V=Number.NEGATIVE_INFINITY,j=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(L=!L),L)if(r===this.sashItems.length-1){const ae=this.viewItems[r];V=(ae.minimumSize-ae.size)/2,j=(ae.maximumSize-ae.size)/2}else{const ae=this.viewItems[r+1];V=(ae.size-ae.maximumSize)/2,j=(ae.size-ae.minimumSize)/2}let ie,oe;if(!L){const re=range$2(r,-1),ae=range$2(r+1,this.viewItems.length),le=re.reduce((Ie,Ne)=>Ie+(this.viewItems[Ne].minimumSize-z[Ne]),0),de=re.reduce((Ie,Ne)=>Ie+(this.viewItems[Ne].viewMaximumSize-z[Ne]),0),ue=ae.length===0?Number.POSITIVE_INFINITY:ae.reduce((Ie,Ne)=>Ie+(z[Ne]-this.viewItems[Ne].minimumSize),0),he=ae.length===0?Number.NEGATIVE_INFINITY:ae.reduce((Ie,Ne)=>Ie+(z[Ne]-this.viewItems[Ne].viewMaximumSize),0),pe=Math.max(le,he),_e=Math.min(ue,de),Ce=this.findFirstSnapIndex(re),xe=this.findFirstSnapIndex(ae);if(typeof Ce=="number"){const Ie=this.viewItems[Ce],Ne=Math.floor(Ie.viewMinimumSize/2);ie={index:Ce,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?_e+Ne:_e-Ne,size:Ie.size}}}this.sashDragState={start:k,current:k,index:r,sizes:z,minDelta:V,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:z}=this.sashDragState;this.sashDragState.current=e;const V=e-i,j=this.resize(t,V,r,void 0,void 0,y,k,L,z);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$2(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$2(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(V,ie)),k=toDisposable(()=>g.remove()),L=combinedDisposable(y,k);let z;typeof t=="number"?z=t:(t.type==="auto"&&(this.areViewsDistributed()?t={type:"distribute"}:t={type:"split",index:t.index}),t.type==="split"?z=this.getViewSize(t.index)/2:t.type==="invisible"?z={cachedVisibleSize:t.cachedVisibleSize}:z=e.minimumSize);const V=this.orientation===0?new VerticalViewItem(g,e,z,L):new HorizontalViewItem(g,e,z,L);if(this.viewItems.splice(i,0,V),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),_e=oe.onDidReset(()=>{const Ie=this.sashItems.findIndex(Et=>Et.sash===oe),Ne=range$2(Ie,-1),$e=range$2(Ie+1,this.viewItems.length),Oe=this.findFirstSnapIndex(Ne),Fe=this.findFirstSnapIndex($e);typeof Oe=="number"&&!this.viewItems[Oe].visible||typeof Fe=="number"&&!this.viewItems[Fe].visible||this._onDidSashReset.fire(Ie)}),Ce=combinedDisposable(le,ue,pe,_e,oe),xe={sash:oe,disposable:Ce};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(V=>V.size),r,g,y=Number.NEGATIVE_INFINITY,k=Number.POSITIVE_INFINITY,L,z){if(e<0||e>=this.viewItems.length)return 0;const V=range$2(e,-1),j=range$2(e+1,this.viewItems.length);if(g)for(const xe of g)pushToStart(V,xe),pushToStart(j,xe);if(r)for(const xe of r)pushToEnd(V,xe),pushToEnd(j,xe);const ie=V.map(xe=>this.viewItems[xe]),oe=V.map(xe=>i[xe]),re=j.map(xe=>this.viewItems[xe]),ae=j.map(xe=>i[xe]),le=V.reduce((xe,Ie)=>xe+(this.viewItems[Ie].minimumSize-i[Ie]),0),de=V.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),_e=Math.min(ue,de,k);let Ce=!1;if(L){const xe=this.viewItems[L.index],Ie=t>=L.limitDelta;Ce=Ie!==xe.visible,xe.setVisible(Ie,L.size)}if(!Ce&&z){const xe=this.viewItems[z.index],Ie=tk+L.size,0);let i=this.size-t;const r=range$2(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)?z.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(this.viewItems),this.viewItems=[],this.sashItems.forEach(t=>t.disposable.dispose()),this.sashItems=[],super.dispose()}}const Oa=class Oa{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=Oa.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$2(e,$$f(".monaco-table-tr")),i=[],r=[];for(let y=0;ythis.disposables.add(new ColumnHeader(V,j))),L={size:k.reduce((V,j)=>V+j.column.weight,0),views:k.map(V=>({size:V.column.weight,view:V}))};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 z=new TableListRenderer(r,g,V=>this.splitview.getViewSize(V));this.list=this.disposables.add(new List(e,this.domNode,asListVirtualDelegate(i),[z],y)),Event$1.any(...k.map(V=>V.onDidLayout))(([V,j])=>z.layoutColumn(V,j),null,this.disposables),this.splitview.onDidSashReset(V=>{const j=r.reduce((oe,re)=>oe+re.weight,0),ie=r[V].weight/j*this.cachedWidth;this.splitview.resizeView(V,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()}},pr.InstanceCount=0,pr);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:!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=Iterable.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 z=[...r],V=t[t.length-1],j=new LcsDiff({getElements:()=>L.lastDiffIds},{getElements:()=>[...L.children.slice(0,V),...z,...L.children.slice(V+i)].map(le=>e.getId(le.element).toString())}).ComputeDiff(!1);if(j.quitEarly)return L.lastDiffIds=void 0,this.spliceSimple(t,i,z,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-V,this.spliceSimple([...ie,re],le.originalLength,Iterable.slice(z,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:z,visible:V}=this.getParentNodeWithListIndex(e),j=[],ie=Iterable.map(i,_e=>this.createTreeNode(_e,k,k.visible?1:0,z,j,r)),oe=e[e.length-1];let re=0;for(let _e=oe;_e>=0&&_ey.getId(_e.element).toString())):k.lastDiffIds=k.children.map(_e=>y.getId(_e.element).toString()):k.lastDiffIds=void 0;let he=0;for(const _e of ue)_e.visible&&he++;if(he!==0)for(let _e=oe+ae.length;_eCe+(xe.visible?xe.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(k,de-_e),this.list.splice(L,_e,j)}if(ue.length>0&&g){const _e=Ce=>{g(Ce),Ce.children.forEach(_e)};ue.forEach(_e)}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 z=e.children||Iterable.empty(),V=r&&L!==0&&!k.collapsed;let j=0,ie=1;for(const oe of z){const re=this.createTreeNode(oe,k,L,V,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 z of e.children)k=this._updateNodeAfterFilterChange(z,g,i,r&&!e.collapsed)||k,z.visible&&(z.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.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 z=this.modelProvider(),V=z.getNodeLocation(t),j=z.getListIndex(V),ie=z.getListRenderCount(V);return{...k,feedback:range$2(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.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.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()}}const Xs=class Xs{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=Xs.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.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$2(e,$$f(".monaco-tl-row")),i=append$2(t,$$f(".monaco-tl-indent")),r=append$2(t,$$f(".monaco-tl-twistie")),g=append$2(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.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=Xs.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)}};Xs.DefaultIndent=8;let TreeRenderer=Xs;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 z=k.toLowerCase().indexOf(this._lowercasePattern);if(z>-1){L=[Number.MAX_SAFE_INTEGER,0];for(let V=this._lowercasePattern.length;V>0;V--)L.push(z+V-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:TreeFindMode.Highlight,this._matchType=(L=e.options.defaultFindMatchType)!=null?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 t,i,r,g;const e=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&e?(alert(localize("replFindNoResults","No results")),(t=this.tree.options.showNotFoundMessage)==null||t?(i=this.widget)==null||i.showMessage({type:2,content:localize("not found","No elements found.")}):(r=this.widget)==null||r.showMessage({type:2})):((g=this.widget)==null||g.clearMessage(),this.pattern&&alert(localize("replFindResults","{0} results",this.filter.matchCount)))}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.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$2(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$2(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 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,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:z}=this.createElement(k,y,e.count);g[y]=L,this._rootDomNode.appendChild(L),this._previousStateDisposables.add(z)}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 z=e.node;z===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(z=new Proxy(e.node,{}));const V=L.renderTemplate(g);L.renderElement(z,e.startIndex,V,e.height);const j=toDisposable(()=>{y.dispose(),L.disposeElement(z,e.startIndex,V,e.height),L.disposeTemplate(V),g.remove()});return{element:g,disposable:j}}setAccessibilityAttributes(e,t,i,r){var z;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",(z=this.accessibilityProvider.getRole(t))!=null?z:"treeitem");const g=this.accessibilityProvider.getAriaLabel(t),y=g&&typeof g!="string"?g:constObservable(g),k=autorun(V=>{const j=V.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()}};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._register(addDisposableListener(this.container,"focus",()=>this.onFocus())),this._register(addDisposableListener(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(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?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$2(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(),z=V=>L.delete(V);t.forEach(V=>dfs$1(V,z)),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 z=this.identityProvider.getId(L.element).toString();if(!i.has(z))k.push(L);else{const j=g.get(z);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),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?void 0:e.onContextMenu)!=null?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?void 0:e.mode)!=null?t:TreeFindMode.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.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,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 y=new Relay,k=new Relay,L=this.disposables.add(new EventCollection(k.event)),z=new SetMap;this.renderers=r.map(ae=>new TreeRenderer(ae,()=>this.model,y.event,L,z,g));for(const ae of this.renderers)this.disposables.add(ae);let V;g.keyboardNavigationLabelProvider&&(V=new FindFilter(this,g.keyboardNavigationLabelProvider,g.filter),g={...g,filter:V},this.disposables.add(V)),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),y.input=this.model.onDidChangeCollapseState;const j=Event$1.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$1),oe=this.disposables.add(new Delayer(0));if(this.disposables.add(Event$1.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$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(((re=g.findWidgetEnabled)==null||re)&&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,V,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.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.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$5(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(e.listFocusAndSelectionOutline,asCssValueWithDefault(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(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?void 0:i.height)!=null?r:0})}focusLast(e,t=isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(e,t)}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.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.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.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$1(n,e,t){return n.element===e?{...n,children:t}:{...n,children:Iterable.map(Iterable.from(n.children),i=>splice$1(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),z=decompress(y),V=splice$1(z,e,t),j=(this.enabled?compress:noCompress)(V),ie=i.diffIdentityProvider?(re,ae)=>i.diffIdentityProvider.getId(re)===i.diffIdentityProvider.getId(ae):void 0;if(equals$2(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$2c=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(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.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$2c([memoize$1],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(z=>new CompressibleRenderer(y,k,z));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.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.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.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.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(z=>new AsyncDataTreeRenderer(z,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 V of e.children)y.set(V.element,V),this.identityProvider&&k.set(V.id,{node:V,collapsed:this.tree.hasElement(V)&&this.tree.isCollapsed(V)});const L=[],z=g.map(V=>{const j=!!this.dataSource.hasChildren(V);if(!this.identityProvider){const ae=createAsyncDataTreeNode({element:V,parent:e,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(V)});return j&&ae.defaultCollapseState===ObjectTreeElementCollapseState.PreserveOrExpanded&&L.push(ae),ae}const ie=this.identityProvider.getId(V).toString(),oe=k.get(ie);if(oe){const ae=oe.node;return y.delete(ae.element),this.nodes.delete(ae.element),this.nodes.set(V,ae),ae.element=V,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:V,parent:e,id:ie,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(V)});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 V of y.values())dfs(V,j=>this.nodes.delete(j.element));for(const V of z)this.nodes.set(V.element,V);return e.children.splice(0,e.children.length,...z),e!==this.root&&this.autoExpandSingleChildren&&z.length===1&&L.length===0&&(z[0].forceExpanded=!0,L.push(z[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.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(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(z=>new CompressibleAsyncDataTreeRenderer(z,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 z=!1;const V=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$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$27=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.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(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 y;const t=n.get(IConfigurationService),i=n.get(IKeybindingService),r=new DisposableStore;return[{...e,keyboardNavigationDelegate:{mightProducePrintableCharacter(k){return i.mightProducePrintableCharacter(k)}},smoothScrolling:!!t.getValue(listSmoothScrolling),mouseWheelScrollSensitivity:t.getValue(mouseWheelScrollSensitivityKey),fastScrollSensitivity:t.getValue(fastScrollSensitivityKey),multipleSelectionController:(y=e.multipleSelectionController)!=null?y:r.add(new MultipleSelectionController(t)),keyboardNavigationEventFilter:createKeyboardNavigationEventFilter(i),scrollByPage:!!t.getValue(scrollByPageKey)},r]}let WorkbenchList=class extends List{constructor(e,t,i,r,g,y,k,L,z){const V=typeof g.horizontalScrolling<"u"?g.horizontalScrolling:!!L.getValue(horizontalScrollingKey),[j,ie]=z.invokeFunction(toWorkbenchListOptions,g);super(e,t,i,r,{keyboardSupport:!1,...j,horizontalScrolling:V}),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$2b([__param$27(5,IContextKeyService),__param$27(6,IListService),__param$27(7,IConfigurationService),__param$27(8,IInstantiationService)],WorkbenchList);let WorkbenchPagedList=class extends PagedList{constructor(e,t,i,r,g,y,k,L,z){const V=typeof g.horizontalScrolling<"u"?g.horizontalScrolling:!!L.getValue(horizontalScrollingKey),[j,ie]=z.invokeFunction(toWorkbenchListOptions,g);super(e,t,i,r,{keyboardSupport:!1,...j,horizontalScrolling:V}),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$2b([__param$27(5,IContextKeyService),__param$27(6,IListService),__param$27(7,IConfigurationService),__param$27(8,IInstantiationService)],WorkbenchPagedList);let WorkbenchTable=class extends Table$1{constructor(e,t,i,r,g,y,k,L,z,V){const j=typeof y.horizontalScrolling<"u"?y.horizontalScrolling:!!z.getValue(horizontalScrollingKey),[ie,oe]=V.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(z),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(z.onDidChangeConfiguration(ae=>{ae.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(z));let le={};if(ae.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const de=!!z.getValue(horizontalScrollingKey);le={...le,horizontalScrolling:de}}if(ae.affectsConfiguration(scrollByPageKey)){const de=!!z.getValue(scrollByPageKey);le={...le,scrollByPage:de}}if(ae.affectsConfiguration(listSmoothScrolling)){const de=!!z.getValue(listSmoothScrolling);le={...le,smoothScrolling:de}}if(ae.affectsConfiguration(mouseWheelScrollSensitivityKey)){const de=z.getValue(mouseWheelScrollSensitivityKey);le={...le,mouseWheelScrollSensitivity:de}}if(ae.affectsConfiguration(fastScrollSensitivityKey)){const de=z.getValue(fastScrollSensitivityKey);le={...le,fastScrollSensitivity:de}}Object.keys(le).length>0&&this.updateOptions(le)})),this.navigator=new TableResourceNavigator(this,{configurationService:z,...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$2b([__param$27(6,IContextKeyService),__param$27(7,IListService),__param$27(8,IConfigurationService),__param$27(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:!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}}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,z){const{options:V,getTypeNavigationMode:j,disposable:ie}=y.invokeFunction(workbenchTreeDataPreamble,g);super(e,t,i,r,V),this.disposables.add(ie),this.internals=new WorkbenchTreeInternals(this,g,j,g.overrideStyles,k,L,z),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchObjectTree=__decorate$2b([__param$27(5,IInstantiationService),__param$27(6,IContextKeyService),__param$27(7,IListService),__param$27(8,IConfigurationService)],WorkbenchObjectTree);let WorkbenchCompressibleObjectTree=class extends CompressibleObjectTree{constructor(e,t,i,r,g,y,k,L,z){const{options:V,getTypeNavigationMode:j,disposable:ie}=y.invokeFunction(workbenchTreeDataPreamble,g);super(e,t,i,r,V),this.disposables.add(ie),this.internals=new WorkbenchTreeInternals(this,g,j,g.overrideStyles,k,L,z),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchCompressibleObjectTree=__decorate$2b([__param$27(5,IInstantiationService),__param$27(6,IContextKeyService),__param$27(7,IListService),__param$27(8,IConfigurationService)],WorkbenchCompressibleObjectTree);let WorkbenchDataTree=class extends DataTree{constructor(e,t,i,r,g,y,k,L,z,V){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,z,V),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$2b([__param$27(6,IInstantiationService),__param$27(7,IContextKeyService),__param$27(8,IListService),__param$27(9,IConfigurationService)],WorkbenchDataTree);let WorkbenchAsyncDataTree=class extends AsyncDataTree{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,r,g,y,k,L,z,V){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,z,V),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchAsyncDataTree=__decorate$2b([__param$27(6,IInstantiationService),__param$27(7,IContextKeyService),__param$27(8,IListService),__param$27(9,IConfigurationService)],WorkbenchAsyncDataTree);let WorkbenchCompressibleAsyncDataTree=class extends CompressibleAsyncDataTree{constructor(e,t,i,r,g,y,k,L,z,V,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,z,V,j),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchCompressibleAsyncDataTree=__decorate$2b([__param$27(7,IInstantiationService),__param$27(8,IContextKeyService),__param$27(9,IListService),__param$27(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 ie;const t=n.get(IConfigurationService),i=n.get(IContextViewService),r=n.get(IContextKeyService),g=n.get(IInstantiationService),y=()=>{const oe=r.getContextKeyValue(WorkbenchListTypeNavigationModeKey);if(oe==="automatic")return TypeNavigationMode.Automatic;if(oe==="trigger"||r.getContextKeyValue(WorkbenchListAutomaticKeyboardNavigationLegacyKey)===!1)return TypeNavigationMode.Trigger;const ae=t.getValue(typeNavigationModeSettingKey);if(ae==="automatic")return TypeNavigationMode.Automatic;if(ae==="trigger")return TypeNavigationMode.Trigger},k=e.horizontalScrolling!==void 0?e.horizontalScrolling:!!t.getValue(horizontalScrollingKey),[L,z]=g.invokeFunction(toWorkbenchListOptions,e),V=e.paddingBottom,j=e.renderIndentGuides!==void 0?e.renderIndentGuides:t.getValue(treeRenderIndentGuidesKey);return{getTypeNavigationMode:y,disposable:z,options:{keyboardSupport:!1,...L,indent:typeof t.getValue(treeIndentKey)=="number"?t.getValue(treeIndentKey):void 0,renderIndentGuides:j,smoothScrolling:!!t.getValue(listSmoothScrolling),defaultFindMode:getDefaultTreeFindMode(t),defaultFindMatchType:getDefaultTreeFindMatchType(t),horizontalScrolling:k,scrollByPage:!!t.getValue(scrollByPageKey),paddingBottom:V,hideTwistiesOfChildlessElements:e.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(ie=e.expandOnlyOnTwistieClick)!=null?ie:t.getValue(treeExpandMode)==="doubleClick",contextViewProvider:i,findWidgetStyles:defaultFindWidgetStyles,enableStickyScroll:!!t.getValue(treeStickyScroll),stickyScrollMaxItemCount:Number(t.getValue(treeStickyScrollMaxElements))}}}let WorkbenchTreeInternals=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(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((j=t.findWidgetEnabled)!=null?j:!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))},V=new Set;V.add(WorkbenchListTypeNavigationModeKey),V.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(V)&&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$2b([__param$27(4,IContextKeyService),__param$27(5,IListService),__param$27(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({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]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize({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]:{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 {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[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:!1,this.domNode=append$2(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$1(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,"⏎"})}}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 classNames(e){this.disposed||equals$1(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}}class IconLabel extends Disposable{constructor(e,t){var i;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new FastLabelNode(append$2(e,$$f(".monaco-icon-label")))),this.labelContainer=append$2(this.domNode.element,$$f(".monaco-icon-label-container")),this.nameContainer=append$2(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:getDefaultHoverDelegate("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 z;!k||!isHTMLElement$1(k)?(z=$$f(".monaco-icon-label-iconpath"),this.domNode.element.prepend(z)):z=k,z.style.backgroundImage=asCSSUrl(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 z=this.getOrCreateDescriptionNode();z instanceof HighlightedLabel?(z.set(t||"",i?i.descriptionMatches:void 0,void 0,i==null?void 0:i.labelEscapeNewLines),this.setupHover(z.element,i==null?void 0:i.descriptionTitle)):(z.textContent=t&&(i!=null&&i.labelEscapeNewLines)?HighlightedLabel.escapeNewLines(t,[]):t||"",this.setupHover(z.element,(i==null?void 0:i.descriptionTitle)||""),z.empty=!t)}if(i!=null&&i.suffix||this.suffixNode){const z=this.getOrCreateSuffixNode();z.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$4(y)?g.title=stripIcons(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(after(this.nameContainer,$$f("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new FastLabelNode(append$2(e.element,$$f("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new FastLabelNode(append$2(this.labelContainer,$$f("span.monaco-icon-description-container"))));(e=this.creationOptions)!=null&&e.supportDescriptionHighlights?this.descriptionNode=this._register(new HighlightedLabel(append$2(t.element,$$f("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new FastLabelNode(append$2(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$1(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$2(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$1(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$2(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$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$26=function(n,e){return function(t,i){e(t,i,n)}},QuickPickItemElementRenderer_1;const $$8=$$f;class BaseQuickPickItemElement{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Lazy(()=>{var k;const r=(k=i.label)!=null?k:"",g=parseLabelWithIcons(r).text.trim(),y=i.ariaLabel||[r,this.saneDescription,this.saneDetail].map(L=>getCodiconAriaLabel(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}}class QuickPickItemElement extends BaseQuickPickItemElement{constructor(e,t,i,r,g,y){var k,L,z;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,V=>V.element===this),V=>V.checked):Event$1.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=(z=g.highlights)==null?void 0:z.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.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{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}}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$2(e,$$8(".quick-input-list-entry"));const i=append$2(t.entry,$$8("label.quick-input-list-label"));t.toDisposeTemplate.add(addStandardDisposableListener(i,EventType$1.CLICK,z=>{t.checkbox.offsetParent||z.preventDefault()})),t.checkbox=append$2(i,$$8("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const r=append$2(i,$$8(".quick-input-list-rows")),g=append$2(r,$$8(".quick-input-list-row")),y=append$2(r,$$8(".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,$$8(".quick-input-list-icon"));const k=append$2(g,$$8(".quick-input-list-entry-keybinding"));t.keybinding=new KeybindingLabel(k,OS),t.toDisposeTemplate.add(t.keybinding);const L=append$2(y,$$8(".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$2(t.entry,$$8(".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()}}var mr;let QuickPickItemElementRenderer=(mr=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 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(this.themeService.getColorTheme().type)?g.iconPath.dark:(oe=g.iconPath.light)!=null?oe:g.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=g.iconClass?"quick-input-list-icon ".concat(g.iconClass):"";let z;!r.saneTooltip&&r.saneDescription&&(z={markdown:{value:r.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});const V={matches:y||[],descriptionTitle:z,descriptionMatches:k||[],labelEscapeNewLines:!0};if(V.extraClasses=g.iconClasses,V.italic=g.italic,V.strikethrough=g.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(r.saneLabel,r.saneDescription,V),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(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=mr,mr.ID="quickpickitem",mr);QuickPickItemElementRenderer=QuickPickItemElementRenderer_1=__decorate$2a([__param$26(1,IThemeService)],QuickPickItemElementRenderer);const Ba=class Ba extends BaseQuickInputListRenderer{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return Ba.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 z;!r.saneTooltip&&r.saneDescription&&(z={markdown:{value:r.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});const V={matches:y||[],descriptionTitle:z,descriptionMatches:k||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(r.saneLabel,r.saneDescription,V),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(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)}};Ba.ID="quickpickseparator";let QuickPickSeparatorElementRenderer=Ba,QuickInputTree=class extends Disposable{constructor(e,t,i,r,g,y){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this.accessibilityService=y,this._onKeyDown=new Emitter$1,this._onLeave=new Emitter$1,this.onLeave=this._onLeave.event,this._visibleCountObservable=observableValue("VisibleCount",0),this.onChangedVisibleCount=Event$1.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=observableValue("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=Event$1.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=observableValue("CheckedCount",0),this.onChangedCheckedCount=Event$1.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=observableValueOpts({equalsFn:equals$2},new Array),this.onChangedCheckedElements=Event$1.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new Emitter$1,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new Emitter$1,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new Emitter$1,this._elementCheckedEventBufferer=new EventBufferer,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new DisposableStore),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=append$2(this.parent,$$8(".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],{filter:{filter(k){return k.hidden?0:k instanceof QuickPickSeparatorElement?2:1}},sorter:{compare:(k,L)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;const z=this._lastQueryString.toLowerCase();return compareEntries(k,L,z)}},accessibilityProvider:new QuickInputAccessibilityProvider,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:RenderIndentGuides.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._registerListeners()}get onDidChangeFocus(){return Event$1.map(this._tree.onDidChangeFocus,e=>e.elements.filter(t=>t instanceof QuickPickItemElement).map(t=>t.item),this._store)}get onDidChangeSelection(){return Event$1.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(t=>t instanceof QuickPickItemElement).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(e);switch(t.keyCode){case 10:this.toggleCheckbox();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()}))}_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(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$1(t.browserEvent.relatedTarget,(i=t.element)==null?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?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))}))}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(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 z=new QuickPickItemElement(g,this._hasCheckboxes,V=>this._onButtonTriggered.fire(V),this._elementChecked,r,L);if(this._itemElements.push(z),t)return t.children.push(z),i;y=z}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);break;case QuickPickFocus.Second:{this._tree.scrollTop=0;let i=!1;this._tree.focusFirst(void 0,r=>r.element instanceof QuickPickItemElement?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);break;case QuickPickFocus.Next:{const i=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,g=>g.element instanceof QuickPickItemElement?(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))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?(this._tree.reveal(i.element),!0):!1);break;case QuickPickFocus.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 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)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.focusLast(void 0,y=>y.element instanceof QuickPickItemElement));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)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._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,z,V,j;let g;this.matchOnLabelMode==="fuzzy"?g=this.matchOnLabel&&(L=matchesFuzzyIconAware(e,parseLabelWithIcons(r.saneLabel)))!=null?L:void 0:g=this.matchOnLabel&&(z=matchesContiguousIconAware(t,parseLabelWithIcons(r.saneLabel)))!=null?z:void 0;const y=this.matchOnDescription&&(V=matchesFuzzyIconAware(e,parseLabelWithIcons(r.saneDescription||"")))!=null?V:void 0,k=this.matchOnDetail&&(j=matchesFuzzyIconAware(e,parseLabelWithIcons(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),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))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)}_setElementsToTree(e){const t=new Array;for(const i of e)i instanceof QuickPickSeparatorElement?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$2a([memoize$1],QuickInputTree.prototype,"onDidChangeFocus",null);__decorate$2a([memoize$1],QuickInputTree.prototype,"onDidChangeSelection",null);QuickInputTree=__decorate$2a([__param$26(4,IInstantiationService),__param$26(5,IAccessibilityService)],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)}const defaultCommandAndKeybindingRule={weight:200,when:ContextKeyExpr.and(ContextKeyExpr.equals(quickInputTypeContextKeyValue,"quickPick"),inQuickInputContext),metadata:{description:localize("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.registerCommandAndKeybindingRule({...defaultCommandAndKeybindingRule,...n,secondary:getSecondary(n.primary,(t=n.secondary)!=null?t:[],e)})}const ctrlKeyMod$1=isMacintosh?256:2048;function getSecondary(n,e,t={}){return t.withAltMod&&e.push(512+n),t.withCtrlMod&&(e.push(ctrlKeyMod$1+n),t.withAltMod&&e.push(512+ctrlKeyMod$1+n)),t.withCmdMod&&isMacintosh&&(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).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$1+14,handler:focusHandler(QuickPickFocus.First)},{withAltMod:!0,withCmdMod:!0});registerQuickPickCommandAndKeybindingRule({id:"quickInput.last",primary:ctrlKeyMod$1+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("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("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?(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.and(defaultCommandAndKeybindingRule.when,ContextKeyExpr.or(InputFocusedContext.negate(),endOfQuickInputBoxContext)),primary:17,weight:250,handler:n=>{const e=n.get(IQuickInputService).currentQuickInput;e==null||e.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});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$25=function(n,e){return function(t,i){e(t,i,n)}},QuickInputController_1;const $$7=$$f;var vr;let QuickInputController=(vr=class extends Disposable{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$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.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$1.runAndSubscribe(onDidRegisterWindow,({window:g,disposables:y})=>this.registerKeyModsListeners(g,y),{window:mainWindow,disposables:this._store})),this._register(onWillUnregisterWindow(g=>{this.ui&&getWindow$2(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$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$2(this._container)!==getWindow$2(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=append$2(this._container,$$7(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=createStyleSheet(t),r=append$2(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$2(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$2(t,$$7(".quick-input-header")),z=append$2(L,$$7("input.quick-input-check-all"));z.type="checkbox",z.setAttribute("aria-label",localize("quickInput.checkAll","Toggle all checkboxes")),this._register(addStandardDisposableListener(z,EventType$1.CHANGE,ze=>{const qe=z.checked;Fe.setAllVisibleChecked(qe)})),this._register(addDisposableListener(z,EventType$1.CLICK,ze=>{(ze.x||ze.y)&&oe.setFocus()}));const V=append$2(L,$$7(".quick-input-description")),j=append$2(L,$$7(".quick-input-and-message")),ie=append$2(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$2(ie,$$7(".quick-input-visible-count"));re.setAttribute("aria-live","polite"),re.setAttribute("aria-atomic","true");const ae=new CountBadge(re,{countFormat:localize({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$2(ie,$$7(".quick-input-count"));le.setAttribute("aria-live","polite");const de=new CountBadge(le,{countFormat:localize({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(L,{hoverDelegate:this.options.hoverDelegate}));ue.domNode.classList.add("quick-input-inline-action-bar");const he=append$2(L,$$7(".quick-input-action")),pe=this._register(new Button$1(he,this.styles.button));pe.label=localize("ok","OK"),this._register(pe.onDidClick(ze=>{this.onDidAcceptEmitter.fire()}));const _e=append$2(L,$$7(".quick-input-action")),Ce=this._register(new Button$1(_e,{...this.styles.button,supportIcons:!0}));Ce.label=localize("custom","Custom"),this._register(Ce.onDidClick(ze=>{this.onDidCustomEmitter.fire()}));const xe=append$2(j,$$7("#".concat(this.idPrefix,"message.quick-input-message"))),Ie=this._register(new ProgressBar(t,this.styles.progressBar));Ie.getContainer().classList.add("quick-input-progress");const Ne=append$2(t,$$7(".quick-input-html-widget"));Ne.tabIndex=-1;const $e=append$2(t,$$7(".quick-input-description")),Oe=this.idPrefix+"list",Fe=this._register(this.instantiationService.createInstance(QuickInputTree,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,Oe));oe.setAttribute("aria-controls",Oe),this._register(Fe.onDidChangeFocus(()=>{var ze;oe.setAttribute("aria-activedescendant",(ze=Fe.getActiveDescendant())!=null?ze:"")})),this._register(Fe.onChangedAllVisibleChecked(ze=>{z.checked=ze})),this._register(Fe.onChangedVisibleCount(ze=>{ae.setCount(ze)})),this._register(Fe.onChangedCheckedCount(ze=>{de.setCount(ze)})),this._register(Fe.onLeave(()=>{setTimeout(()=>{this.controller&&(oe.setFocus(),this.controller instanceof QuickPick&&this.controller.canSelectMany&&Fe.clearFocus())},0)}));const Et=trackFocus(t);return this._register(Et),this._register(addDisposableListener(t,EventType$1.FOCUS,ze=>{const qe=this.getUI();if(isAncestor$1(ze.relatedTarget,qe.inputContainer)){const Ve=qe.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==Ve&&this.endOfQuickInputBoxContext.set(Ve)}isAncestor$1(ze.relatedTarget,qe.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=isHTMLElement$1(ze.relatedTarget)?ze.relatedTarget:void 0)},!0)),this._register(Et.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(QuickInputHideReason.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(oe.onKeyDown(ze=>{const qe=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==qe&&this.endOfQuickInputBoxContext.set(qe)})),this._register(addDisposableListener(t,EventType$1.FOCUS,ze=>{oe.setFocus()})),this._register(addStandardDisposableListener(t,EventType$1.KEY_DOWN,ze=>{if(!isAncestor$1(ze.target,Ne))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.displayed&&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 Ve=t.querySelectorAll(qe.join(", "));ze.shiftKey&&ze.target===Ve[0]?(EventHelper$1.stop(ze,!0),Fe.clearFocus()):!ze.shiftKey&&isAncestor$1(ze.target,Ve[Ve.length-1])&&(EventHelper$1.stop(ze,!0),Ve[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:$e,description2:V,widget:Ne,rightActionBar:k,inlineActionBar:ue,checkAll:z,inputContainer:j,filterContainer:ie,inputBox:oe,visibleCountContainer:re,visibleCount:ae,countContainer:le,count:de,okContainer:he,ok:pe,message:xe,customButtonContainer:_e,customButton:Ce,list:Fe,progressBar:Ie,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$2(this._container,this.ui.container))}pick(e,t={},i=CancellationToken.None){return new Promise((r,g)=>{let y=V=>{var j;y=r,(j=t.onKeyMods)==null||j.call(t,k.keyMods),r(V)};if(i.isCancellationRequested){y(void 0);return}const k=this.createQuickPick({useSeparators:!0});let L;const z=[k,k.onDidAccept(()=>{if(k.canSelectMany)y(k.selectedItems.slice()),k.hide();else{const V=k.activeItems[0];V&&(y(V),k.hide())}}),k.onDidChangeActive(V=>{const j=V[0];j&&t.onDidFocus&&t.onDidFocus(j)}),k.onDidChangeSelection(V=>{if(!k.canSelectMany){const j=V[0];j&&(y(j),k.hide())}}),k.onDidTriggerItemButton(V=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...V,removeItem:()=>{const j=k.items.indexOf(V.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(V=>{var j;return(j=t.onDidTriggerSeparatorButton)==null?void 0:j.call(t,V)}),k.onDidChangeValue(V=>{L&&!V&&(k.activeItems.length!==1||k.activeItems[0]!==L)&&(k.activeItems=[L])}),i.onCancellationRequested(()=>{k.hide()}),k.onDidHide(()=>{dispose(z),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(([V,j])=>{L=j,k.busy=!1,k.items=V,k.canSelectMany&&(k.selectedItems=V.filter(ie=>ie.type!=="separator"&&ie.picked)),L&&(k.activeItems=[L])}),k.show(),Promise.resolve(e).then(void 0,V=>{g(V),k.hide()})})}createQuickPick(e={useSeparators:!1}){const t=this.getUI(!0);return new QuickPick(t)}createInputBox(){const e=this.getUI(!0);return new InputBox$1(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.inlineActionBar.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(),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(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.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=vr,vr.MAX_WIDTH=600,vr);QuickInputController=QuickInputController_1=__decorate$29([__param$25(1,ILayoutService),__param$25(2,IInstantiationService),__param$25(3,IContextKeyService)],QuickInputController);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$24=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 currentQuickInput(){return this.controller.currentQuickInput}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$2(e.activeContainer)===getWindow$2(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(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(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$28([__param$24(0,IInstantiationService),__param$24(1,IContextKeyService),__param$24(2,IThemeService),__param$24(3,ILayoutService),__param$24(4,IConfigurationService)],QuickInputService);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$23=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,z=>({container:L.getDomNode(),dimension:z}))},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$27([__param$23(1,IInstantiationService),__param$23(2,IContextKeyService),__param$23(3,IThemeService),__param$23(4,ICodeEditorService),__param$23(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 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.None){return this.activeService.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}};StandaloneQuickInputService=__decorate$27([__param$23(0,IInstantiationService),__param$23(1,ICodeEditorService)],StandaloneQuickInputService);const Fa=class Fa{static get(e){return e.getContribution(Fa.ID)}constructor(e){this.editor=e,this.widget=new QuickInputEditorWidget(this.editor)}dispose(){this.widget.dispose()}};Fa.ID="editor.controller.quickInput";let QuickInputEditorContribution=Fa;const za=class za{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return za.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}};za.ID="editor.contrib.quickInputWidget";let QuickInputEditorWidget=za;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(V.token,j.token);return ie!==0?ie:V.index-j.index});let t=0,i="000000",r="ffffff";for(;n.length>=1&&n[0].token==="";){const V=n.shift();V.fontStyle!==-1&&(t=V.fontStyle),V.foreground!==null&&(i=V.foreground),V.background!==null&&(r=V.background)}const g=new ColorMap;for(const V of e)g.getId(V);const y=g.getId(i),k=g.getId(r),L=new ThemeTrieElementRule(t,y,k),z=new ThemeTrieElement(L);for(let V=0,j=n.length;V"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$4(g)?g:void 0;if(i&&Array.isArray(i.src)&&i.src.every(g=>isString$4(g.format)&&isString$4(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=[],k=[];for(const L of i.getIcons()){const z=r.getIcon(L);if(!z)continue;const V=z.font,j="--vscode-icon-".concat(L.id,"-font-family"),ie="--vscode-icon-".concat(L.id,"-content");V?(g[V.id]=V.definition,k.push("".concat(j,": ").concat(asCSSPropertyValue(V.id),";"),"".concat(ie,": '").concat(z.fontCharacter,"';")),y.push(".codicon-".concat(L.id,":before { content: '").concat(z.fontCharacter,"'; font-family: ").concat(asCSSPropertyValue(V.id),"; }"))):(k.push("".concat(ie,": '").concat(z.fontCharacter,"'; ").concat(j,": 'codicon';")),y.push(".codicon-".concat(L.id,":before { content: '").concat(z.fontCharacter,"'; }")))}for(const L in g){const z=g[L],V=z.weight?"font-weight: ".concat(z.weight,";"):"",j=z.style?"font-style: ".concat(z.style,";"):"",ie=z.src.map(oe=>"".concat(asCSSUrl(oe.location)," format('").concat(oe.format,"')")).join(", ");y.push("@font-face { src: ".concat(ie,"; font-family: ").concat(asCSSPropertyValue(L),";").concat(V).concat(j," font-display: block; }"))}return y.push(":root { ".concat(k.join(" ")," }")),y.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$3.ColorContribution),themingRegistry=Registry.as(Extensions$4.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$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},__param$22=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._onDidChangeLinkUnderline=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._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(g),this.initLinkUnderlineListeners()}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()))}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=__decorate$26([__param$22(0,IContextKeyService),__param$22(1,ILayoutService),__param$22(2,IConfigurationService)],AccessibilityService);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},__param$21=function(n,e){return function(t,i){e(t,i,n)}},PersistedMenuHideState_1,MenuInfo_1;let MenuService=class{constructor(e,t,i){this._commandService=e,this._keybindingService=t,this._hiddenStates=new PersistedMenuHideState(i)}createMenu(e,t,i){return new MenuImpl(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t)}getMenuActions(e,t,i){const r=new MenuImpl(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=__decorate$25([__param$21(0,ICommandService),__param$21(1,IKeybindingService),__param$21(2,IStorageService)],MenuService);var _r;let PersistedMenuHideState=(_r=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:!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(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_1=_r,_r._key="menu.hiddenCommands",_r);PersistedMenuHideState=PersistedMenuHideState_1=__decorate$25([__param$21(0,IStorageService)],PersistedMenuHideState);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.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(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.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=MenuInfo_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(k);L&&this._hiddenStates.setDefaultState(this._id,k.command.id,!!k.isHiddenByDefault);const z=createMenuHide(this._id,L?k.command:k,this._hiddenStates);if(L){const V=createConfigureKeybindingAction(this._commandService,this._keybindingService,k.command.id,k.when);(y!=null?y:y=[]).push(new MenuItemAction(k.command,k.alt,e,z,V,this._contextKeyService,this._commandService))}else{const V=new MenuInfo_1(k.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),j=Separator.join(...V.map(ie=>ie[1]));j.length>0&&(y!=null?y:y=[]).push(new SubmenuItemAction(k,z,j))}}y&&y.length>0&&t.push([r,y])}return t}_sort(e){return e.sort(MenuInfo_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._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$25([__param$21(3,ICommandService),__param$21(4,IKeybindingService),__param$21(5,IContextKeyService)],MenuInfo);let MenuImpl=class{constructor(e,t,i,r,g,y){this._disposables=new DisposableStore,this._menuInfo=new MenuInfo(e,t,i.emitEventsForSubmenuChanges,r,g,y);const k=new RunOnceScheduler(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(k),this._disposables.add(MenuRegistry.onDidChangeMenu(j=>{for(const ie of this._menuInfo.allMenuIds)if(j.has(ie)){k.schedule();break}}));const L=this._disposables.add(new DisposableStore),z=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}},V=()=>{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({onWillAddFirstListener:V,onDidRemoveLastListener:L.clear.bind(L),delay:i.eventDebounceDelay,merge:z}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};MenuImpl=__decorate$25([__param$21(3,ICommandService),__param$21(4,IKeybindingService),__param$21(5,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}}}function createConfigureKeybindingAction(n,e,t,i=void 0,r=!0){return toAction({id:"configureKeybinding/".concat(t),label:localize("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$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$20=function(n,e){return function(t,i){e(t,i,n)}},BrowserClipboardService_1;const vscodeResourcesMime="application/vnd.code.resources";var br;let BrowserClipboardService=(br=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.clearResourcesState()))},{window:mainWindow,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const t=new DeferredPromise;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,getActiveWindow().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.clearResourcesState(),t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await getActiveWindow().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"),isHTMLElement$1(i)&&i.focus(),r.remove()}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await getActiveWindow().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().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.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$3(e.substring(0,BrowserClipboardService_1.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}},BrowserClipboardService_1=br,br.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,br);BrowserClipboardService=BrowserClipboardService_1=__decorate$24([__param$20(0,ILayoutService),__param$20(1,ILogService)],BrowserClipboardService);const IClipboardService=createDecorator("clipboardService");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$1$=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}};const Va=class Va extends Context$2{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}};Va.INSTANCE=new Va;let NullContext=Va;const Zs=class Zs 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,([z])=>z)),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(Zs._keyPrefix)!==0)return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(Zs._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)}};Zs._keyPrefix="config.";let ConfigAwareContextValuesContainer=Zs;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$23([__param$1$(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)}}}class ServiceCollection{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;class CyclicDependencyError 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())}}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._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(IInstantiationService,this),this._globalGraph=r?(g=i==null?void 0:i._globalGraph)!=null?g:new Graph(y=>y):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,dispose(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)isDisposable(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 InstantiationService{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.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){this._throwIfDisposed();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))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof SyncDescriptor)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?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(z=>z.id.toString());let g=0;const y=[{id:e,desc:t,_trace:i}],k=new Set;for(;y.length;){const z=y.pop();if(!k.has(String(z.id))){if(k.add(String(z.id)),r.lookupOrInsertNode(z),g++>1e3)throw new CyclicDependencyError(r);for(const V of _util.getServiceDependencies(z.desc.ctor)){const j=this._getServiceInstanceOrDescriptor(V.id);if(j||this._throwIfStrict("[createInstance] ".concat(e," depends on ").concat(V.id," which is NOT registered."),!0),(L=this._globalGraph)==null||L.insertEdge(String(z.id),String(V.id)),j instanceof SyncDescriptor){const ie={id:V.id,desc:j,_trace:z._trace.branch(V.id,!0)};r.insertEdge(z,ie),y.push(ie)}}}}for(;;){const z=r.roots();if(z.length===0){if(!r.isEmpty())throw new CyclicDependencyError(r);break}for(const{data:V}of z){if(this._getServiceInstanceOrDescriptor(V.id)instanceof SyncDescriptor){const ie=this._createServiceInstanceWithOwner(V.id,V.desc.ctor,V.desc.staticArguments,V.desc.supportsDelayedInstantiation,V._trace);this._setCreatedServiceInstance(V.id,ie)}r.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,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 InstantiationService(void 0,this._strict,this,this._enableTracing);k._globalGraphImplicitDependency=String(e);const L=new Map,z=new GlobalIdleValue(()=>{const V=k._createInstance(t,i,g);for(const[j,ie]of L){const oe=V[j];if(typeof oe=="function")for(const re of ie)re.disposable=oe.apply(V,re.listener)}return L.clear(),y.add(V),V});return new Proxy(Object.create(null),{get(V,j){if(!z.isInitialized&&typeof j=="string"&&(j.startsWith("onDid")||j.startsWith("onWill"))){let re=L.get(j);return re||(re=new LinkedList,L.set(j,re)),(le,de,ue)=>{if(z.isInitialized)return z.value[j](le,de,ue);{const he={listener:[le,de,ue],disposable:void 0},pe=re.push(he);return toDisposable(()=>{var Ce;pe(),(Ce=he.disposable)==null||Ce.dispose()})}}}if(j in V)return V[j];const ie=z.value;let oe=ie[j];return typeof oe!="function"||(oe=oe.bind(ie),V[j]=oe),oe},set(V,j,ie){return z.value[j]=ie,!0},getPrototypeOf(V){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)}}const jn=class jn{static traceInvocation(e,t){return e?new jn(2,t.name||new Error().stack.split("\n").slice(3,4).join("\n")):jn._None}static traceCreation(e,t){return e?new jn(1,t.name):jn._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new jn(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;jn._totals+=e;let t=!1;function i(g,y){const k=[],L=new Array(g+1).join(" ");for(const[z,V,j]of y._dep)if(V&&j){t=!0,k.push("".concat(L,"CREATES -> ").concat(z));const ie=i(g+1,j);ie&&k.push(ie)}else k.push("".concat(L,"uses -> ").concat(z));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(jn._totals.toFixed(2),"ms)")];(e>2||t)&&jn.all.add(r.join("\n"))}};jn.all=new Set,jn._None=new class extends jn{constructor(){super(0,null)}stop(){}branch(){return this}},jn._totals=0;let Trace=jn;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?void 0:t.values())!=null?i:Iterable.empty():URI.isUri(e)?(g=(r=this._byResource.get(e))==null?void 0:r.values())!=null?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:z,endLineNumber:V,endColumn:j,relatedInformation:ie,tags:oe}=i;if(y)return L=L>0?L:1,z=z>0?z:1,V=V>=L?V:L,j=j>0?j:z,{resource:t,owner:e,code:r,severity:g,message:y,source:k,startLineNumber:L,startColumn:z,endLineNumber:V,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 z=g.get(y);z?z.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 z=k.push(L);if(g>0&&z===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 z=y.push(L);if(g>0&&z===g)return y}return y}else{const y=this._data.values(i!=null?i:t),k=[];for(const L of y)for(const z of L)if(MarkerService._accept(z,r)){const V=k.push(z);if(g>0&&V===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{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=ConfigurationModel.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=ConfigurationModel.createEmptyModel(this.logService);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.setValue(r,g):y?this._configurationModel.setValue(r,y.default):this._configurationModel.removeValue(r)}}}const IAccessibilitySignalService=createDecorator("accessibilitySignalService"),En=class En{static register(e){return new En(e.fileName)}constructor(e){this.fileName=e}};En.error=En.register({fileName:"error.mp3"}),En.warning=En.register({fileName:"warning.mp3"}),En.success=En.register({fileName:"success.mp3"}),En.foldedArea=En.register({fileName:"foldedAreas.mp3"}),En.break=En.register({fileName:"break.mp3"}),En.quickFixes=En.register({fileName:"quickFixes.mp3"}),En.taskCompleted=En.register({fileName:"taskCompleted.mp3"}),En.taskFailed=En.register({fileName:"taskFailed.mp3"}),En.terminalBell=En.register({fileName:"terminalBell.mp3"}),En.diffLineInserted=En.register({fileName:"diffLineInserted.mp3"}),En.diffLineDeleted=En.register({fileName:"diffLineDeleted.mp3"}),En.diffLineModified=En.register({fileName:"diffLineModified.mp3"}),En.chatRequestSent=En.register({fileName:"chatRequestSent.mp3"}),En.chatResponseReceived1=En.register({fileName:"chatResponseReceived1.mp3"}),En.chatResponseReceived2=En.register({fileName:"chatResponseReceived2.mp3"}),En.chatResponseReceived3=En.register({fileName:"chatResponseReceived3.mp3"}),En.chatResponseReceived4=En.register({fileName:"chatResponseReceived4.mp3"}),En.clear=En.register({fileName:"clear.mp3"}),En.save=En.register({fileName:"save.mp3"}),En.format=En.register({fileName:"format.mp3"}),En.voiceRecordingStarted=En.register({fileName:"voiceRecordingStarted.mp3"}),En.voiceRecordingStopped=En.register({fileName:"voiceRecordingStopped.mp3"}),En.progress=En.register({fileName:"progress.mp3"});let Sound=En;class SoundSource{constructor(e){this.randomOneOf=e}}const vn=class vn{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("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new vn(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return vn._signals.add(i),i}};vn._signals=new Set,vn.errorAtPosition=vn.register({name:localize("accessibilitySignals.positionHasError.name","Error at Position"),sound:Sound.error,announcementMessage:localize("accessibility.signals.positionHasError","Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"}),vn.warningAtPosition=vn.register({name:localize("accessibilitySignals.positionHasWarning.name","Warning at Position"),sound:Sound.warning,announcementMessage:localize("accessibility.signals.positionHasWarning","Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"}),vn.errorOnLine=vn.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 on Line"),settingsKey:"accessibility.signals.lineHasError"}),vn.warningOnLine=vn.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 on Line"),settingsKey:"accessibility.signals.lineHasWarning"}),vn.foldedArea=vn.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"}),vn.break=vn.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"}),vn.inlineSuggestion=vn.register({name:localize("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:Sound.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),vn.terminalQuickFix=vn.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"}),vn.onDebugBreak=vn.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"}),vn.noInlayHints=vn.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"}),vn.taskCompleted=vn.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"}),vn.taskFailed=vn.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"}),vn.terminalCommandFailed=vn.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"}),vn.terminalCommandSucceeded=vn.register({name:localize("accessibilitySignals.terminalCommandSucceeded","Terminal Command Succeeded"),sound:Sound.success,announcementMessage:localize("accessibility.signals.terminalCommandSucceeded","Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"}),vn.terminalBell=vn.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"}),vn.notebookCellCompleted=vn.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"}),vn.notebookCellFailed=vn.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"}),vn.diffLineInserted=vn.register({name:localize("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:Sound.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),vn.diffLineDeleted=vn.register({name:localize("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:Sound.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),vn.diffLineModified=vn.register({name:localize("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:Sound.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),vn.chatRequestSent=vn.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"}),vn.chatResponseReceived=vn.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"}),vn.progress=vn.register({name:localize("accessibilitySignals.progress","Progress"),sound:Sound.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:localize("accessibility.signals.progress","Progress"),settingsKey:"accessibility.signals.progress"}),vn.clear=vn.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"}),vn.save=vn.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"}),vn.format=vn.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"}),vn.voiceRecordingStarted=vn.register({name:localize("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:Sound.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),vn.voiceRecordingStopped=vn.register({name:localize("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:Sound.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});let AccessibilitySignal=vn;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)}class StandaloneTreeSitterParserService{getParseResult(e){}}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$1_=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$22([__param$1_(0,IModelService)],StandaloneTextModelService);const Ha=class Ha{show(){return Ha.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}};Ha.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};let StandaloneEditorProgressService=Ha;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 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$2.Error,message:e,detail:t})}}const Qs=class Qs{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 Qs.NO_OP}prompt(e,t,i,r){return Qs.NO_OP}status(e,t){return Disposable.None}};Qs.NO_OP=new NoOpNotification;let StandaloneNotificationService=Qs,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$22([__param$1_(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())},V=oe=>{oe.getOption(61)||L(oe.getContainerDomNode())};this._register(y.onCodeEditorAdd(z)),this._register(y.onCodeEditorRemove(V)),y.listCodeEditors().forEach(z);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 g;return{keybinding:decodeKeybinding(i.keybinding,OS),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(()=>{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 z of L)i[r++]=new ResolvedKeybindingItem(z,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$22([__param$1_(0,IContextKeyService),__param$1_(1,ICommandService),__param$1_(2,ITelemetryService),__param$1_(3,INotificationService),__param$1_(4,ILogService),__param$1_(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)}let StandaloneConfigurationService=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new Emitter$1,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new DefaultConfiguration(e);this._configuration=new Configuration(t.reload(),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),new ResourceMap,ConfigurationModel.createEmptyModel(e),new ResourceMap,e),t.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,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=__decorate$22([__param$1_(0,ILogService)],StandaloneConfigurationService);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$22([__param$1_(0,IConfigurationService),__param$1_(1,IModelService),__param$1_(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$22([__param$1_(0,IConfigurationService)],StandaloneResourcePropertiesService);class StandaloneTelemetryService{publicLog2(){}}const Js=class Js{constructor(){const e=URI.from({scheme:Js.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===Js.SCHEME?this.workspace.folders[0]:null}};Js.SCHEME="inmemory";let StandaloneWorkspaceContextService=Js;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 z=r.get(L);z||(z=[],r.set(L,z)),z.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$1(StandaloneServicesNLS.bulkEditServiceSummary,g,y),isApplied:g>0}}};StandaloneBulkEditService=__decorate$22([__param$1_(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$22([__param$1_(0,ILayoutService),__param$1_(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$22([__param$1_(0,ITelemetryService),__param$1_(1,INotificationService),__param$1_(2,IContextViewService),__param$1_(3,IKeybindingService),__param$1_(4,IMenuService),__param$1_(5,IContextKeyService)],StandaloneContextMenuService);const standaloneEditorWorkerDescriptor={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let StandaloneEditorWorkerService=class extends EditorWorkerService{constructor(e,t,i,r,g){super(standaloneEditorWorkerDescriptor,e,t,i,r,g)}};StandaloneEditorWorkerService=__decorate$22([__param$1_(0,IModelService),__param$1_(1,ITextResourceConfigurationService),__param$1_(2,ILogService),__param$1_(3,ILanguageConfigurationService),__param$1_(4,ILanguageFeaturesService)],StandaloneEditorWorkerService);class StandaloneAccessbilitySignalService{async playSignal(e,t){}}registerSingleton(ILogService,StandaloneLogService,0);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(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,StandaloneEditorWorkerService,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);registerSingleton(ITreeSitterParserService,StandaloneTreeSitterParserService,0);var StandaloneServices;(function(n){const e=new ServiceCollection;for(const[L,z]of getSingletonServiceDescriptors())e.set(L,z);const t=new InstantiationService(e,!0);e.set(IInstantiationService,t);function i(L){r||y({});const z=e.get(L);if(!z)throw new Error("Missing service "+L);return z instanceof SyncDescriptor?t.invokeFunction(V=>V.get(L)):z}n.get=i;let r=!1;const g=new Emitter$1;function y(L){if(r)return t;r=!0;for(const[V,j]of getSingletonServiceDescriptors())e.get(V)||e.set(V,j);for(const V in L)if(L.hasOwnProperty(V)){const j=createDecorator(V);e.get(j)instanceof SyncDescriptor&&e.set(j,L[V])}const z=getEditorFeatures();for(const V of z)try{t.createInstance(V)}catch(j){onUnexpectedError(j)}return g.fire(),t}n.initialize=y;function k(L){if(r)return L();const z=new DisposableStore,V=z.add(g.event(()=>{V.dispose(),z.add(L())}));return z}n.withServices=k})(StandaloneServices||(StandaloneServices={}));function createWebWorker$1(n,e){return new MonacoWebWorkerImpl(n,e)}class MonacoWebWorkerImpl extends EditorWorkerClient{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(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 z=Array.prototype.slice.call(arguments,0);return L(k,z)},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={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};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,z.startColumn-r+1),Math.min(y+1,z.endColumn-r+1),z.className,z.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||V.isEmpty()&&(z.type===0||z.type===3))continue;const j=V.startLineNumber===t?V.startColumn:i,ie=V.endLineNumber===t?V.endColumn:r;g[y++]=new LineDecoration(j,ie,z.inlineClassName,z.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$1;let g=0;for(let y=0,k=t.length;y1){const ae=e.charCodeAt(z-2);isHighSurrogate(ae)&&z--}if(V>1){const ae=e.charCodeAt(V-2);isHighSurrogate(ae)&&V--}const oe=z-1,re=V-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,z,V,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=z.sort(LineDecoration.compare),this.tabSize=V,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((Ce,xe)=>Ce.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 z=CharacterMapping.getPartIndex(k),V=CharacterMapping.getCharIndex(k),j=CharacterMapping.getPartIndex(L);let ie;z!==j?ie=t:ie=CharacterMapping.getCharIndex(L);const oe=i-V,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,z,V,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=z,this.tabSize=V,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,z=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,V)):!1;g[y++]=new LinePart(V,j,0,ie),k=V}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,V,j,ie),re=oe+1,oe=-1);re!==z&&(r[g++]=new LinePart(z,V,j,ie))}else r[g++]=L;i=z}else for(let y=0,k=e.length;y50){const j=L.type,ie=L.metadata,oe=L.containsRTL,re=Math.ceil(V/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,z=n.selectionsOnLine,V=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,_e=firstNonWhitespaceIndex(e),Ce;_e===-1?(pe=!0,_e=t,Ce=t):Ce=lastNonWhitespaceIndex(e);let xe=!1,Ie=0,Ne=z&&z[Ie],$e=k%y;for(let Fe=g;Fe=Ne.endOffset&&(Ie++,Ne=z&&z[Ie]);let ze;if(Fe<_e||Fe>Ce)ze=!0;else if(Et===9)ze=!0;else if(Et===32)if(V)if(xe)ze=!0;else{const qe=Fe+1Fe),ze&&j&&(ze=pe||Fe>Ce),ze&&de&&Fe>=_e&&Fe<=Ce&&(ze=!1),xe){if(!ze||!L&&$e>=y){if(ie){const qe=re>0?oe[re-1].endIndex:g;for(let Ve=qe+1;Ve<=Fe;Ve++)oe[re++]=new LinePart(Ve,"mtkw",1,!1)}else oe[re++]=new LinePart(Fe,"mtkw",1,!1);$e=$e%y}}else(Fe===ue||ze&&Fe>g)&&(oe[re++]=new LinePart(Fe,le,0,de),$e=$e%y);for(Et===9?$e=y:isFullWidthCharacter(Et)?$e+=2:$e++,xe=ze;Fe===ue&&(ae++,ae0?e.charCodeAt(t-1):0,Et=t>1?e.charCodeAt(t-2):0;Fe===32&&Et!==32&&Et!==9||(Oe=!0)}else Oe=!0;if(Oe)if(ie){const Fe=re>0?oe[re-1].endIndex:g;for(let Et=Fe+1;Et<=t;Et++)oe[re++]=new LinePart(Et,"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,z=0;for(let j=0,ie=t.length;jz&&(z=ue.startOffset,k[L++]=new LinePart(z,ae,le,de)),ue.endOffset+1<=re)z=ue.endOffset+1,k[L++]=new LinePart(z,ae+" "+ue.className,le|ue.metadata,de),y++;else{z=re,k[L++]=new LinePart(z,ae+" "+ue.className,le|ue.metadata,de);break}}re>z&&(z=re,k[L++]=new LinePart(z,ae,le,de))}const V=t[t.length-1].endIndex;if(y'):e.appendString("");for(let Ne=0,$e=z.length;Ne<$e;Ne++){const Oe=z[Ne],Fe=Oe.endIndex,Et=Oe.type,ze=Oe.containsRTL,qe=le!==0&&Oe.isWhitespace(),Ve=qe&&!t&&(Et==="mtkw"||!r),kt=pe===Fe&&Oe.isPseudoAfter();if(Ce=0,e.appendString("=V&&(jt+=ti)}}for(Ve&&(e.appendString(' style="width:'),e.appendString(String(re*Ue)),e.appendString('px"')),e.appendASCIICharCode(62);pe1?e.appendCharCode(8594):e.appendCharCode(65515);for(let ti=2;ti<=ei;ti++)e.appendCharCode(160)}else jt=2,ei=1,e.appendCharCode(ae),e.appendCharCode(8204);Ce+=jt,xe+=ei,pe>=V&&(_e+=ei)}}else for(e.appendASCIICharCode(62);pe=V&&(_e+=jt)}kt?Ie++:Ie=0,pe>=y&&!he&&Oe.isPseudoAfter()&&(he=!0,ue.setColumnInfo(pe+1,Ne,Ce,xe)),e.appendString("")}return he||ue.setColumnInfo(y+1,z.length-1,Ce,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,z,V){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=z,this.startVisibleColumn=V}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$2(e.data,t.data)}static equalsArr(e,t){return equals$2(e,t,OverviewRulerDecorationsGroup.equals)}}function isFuzzyActionArr(n){return Array.isArray(n)}function isFuzzyAction(n){return!isFuzzyActionArr(n)}function isString$3(n){return typeof n=="string"}function isIAction(n){return!isString$3(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,z,V,j,ie,oe,re,ae){return empty(z)?empty(V)?!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$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$1Z=function(n,e){return function(t,i){e(t,i,n)}},MonarchTokenizer_1;const CACHE_STACK_DEPTH=5,Wa=class Wa{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)}};Wa._INSTANCE=new Wa(CACHE_STACK_DEPTH);let MonarchStackElementFactory=Wa;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)}}const Ua=class Ua{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)}};Ua._INSTANCE=new Ua(CACHE_STACK_DEPTH);let MonarchLineStateFactory=Ua;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 z of L.tokens)this._tokens.push(new Token$2(z.offset+r,z.type,z.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 z=0,V=k.changedLanguages.length;z{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 V=(k.ignoreCase?"i":"")+(k.unicode?"u":"");k=new RegExp(L.substr(4,L.length-5),V)}const z=e.search(k);z===-1||z!==0&&y.matchOnlyAtLineStart||(r===-1||z0&&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 z=i.embeddedLanguageData,V=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 $e=k.substr(j);for(const Oe of Ne)if((j===0||!Oe.matchOnlyAtLineStart)&&(ue=$e.match(Oe.resolveRegex(de)),ue)){he=ue[0],pe=Oe.action;break}}if(ue||(ue=[""],he=""),pe||(j=this._lexer.maxStack)throw createError(this._lexer,"maximum tokenizer stack size reached: ["+V.state+","+V.parent.state+",...]");V=V.push(de)}else if(pe.next==="@pop"){if(V.depth<=1)throw createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(_e));V=V.pop()}else if(pe.next==="@popall")V=V.popall();else{let Ne=substituteMatches(this._lexer,pe.next,he,ue,de);if(Ne[0]==="@"&&(Ne=Ne.substr(1)),findRules(this._lexer,Ne))V=V.push(Ne);else throw createError(this._lexer,"trying to set a next state '"+Ne+"' that is undefined in rule: "+this._safeRuleName(_e))}}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(_e));const Ie=Ne=>{const $e=this._languageService.getLanguageIdByLanguageName(Ne)||this._languageService.getLanguageIdByMimeType(Ne)||Ne,Oe=this._getNestedEmbeddedLanguageData($e);if(j0)throw createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(_e));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(_e));let Ne=0;for(let $e=1;$en});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 z=V=>{var ie;const j=(ie=ttPolicy$3==null?void 0:ttPolicy$3.createHTML(V))!=null?ie:V;i.innerHTML=j};return this.colorize(t,L||"",k,r).then(z,V=>console.error(V))}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=z.endState}return r.join("")}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$1Y=function(n,e){return function(t,i){e(t,i,n)}},Is;let MarkerDecorationsContribution=(Is=class{constructor(e,t){}dispose(){}},Is.ID="editor.contrib.markerDecorations",Is);MarkerDecorationsContribution=__decorate$20([__param$1Y(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$2(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())}}const bs=class bs{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=bs._read(e,this.key),i=g=>bs._read(e,g),r=(g,y)=>bs._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}};bs.items=[];let EditorSettingMigration=bs;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;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$1X=function(n,e){return function(t,i){e(t,i,n)}};let EditorConfiguration=class extends Disposable{constructor(e,t,i,r,g){super(),this._accessibilityService=g,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.contextMenuId=t,this._containerObserver=this._register(new ElementSizeObserver(r,i.dimension)),this._targetWindowId=getWindow$2(r).vscodeWindowId,this._rawOptions=deepCloneAndMigrateOptions(i),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$2(r)).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$1$([__param$1X(4,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$2(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 z(){performance.mark("input/start"),y.input=1,le()}n.onBeforeInput=z;function V(){y.input===0&&z(),queueMicrotask(j)}n.onInput=V;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:_e(e),input:_e(t),render:_e(i),total:_e(r),sampleCount:g};return Ce(e),Ce(t),Ce(i),Ce(r),g=0,xe}n.getAndClearMeasurements=pe;function _e(xe){return{average:xe.total/g,max:xe.max,min:xe.min}}function Ce(xe){xe.total=0,xe.min=Number.MAX_VALUE,xe.max=0}})(inputLatency||(inputLatency={}));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$2(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)}}const Ka=class Ka{constructor(e){this._editor=e,this._instanceId=++Ka._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())}};Ka._idPool=0;let DynamicCssRules=Ka;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 z=e.children[t].firstChild,V=e.children[r].firstChild;if((!z||!V)&&(!z&&i===0&&t>0&&(z=e.children[t-1].firstChild,i=1073741824),!V&&g===0&&r>0&&(V=e.children[r-1].firstChild,g=1073741824)),!z||!V)return null;i=Math.min(z.textContent.length,Math.max(0,i)),g=Math.min(V.textContent.length,Math.max(0,g));const j=this._readClientRects(z,i,V,g,y.endNode);return y.markDidDomLayout(),this._createHorizontalRangesFromClientRects(j,y.clientRectDeltaLeft,y.clientRectScale)}}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(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}}const ja=class ja{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 z=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(V,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,V,j.characterMapping)),ie||(ie=createRenderedLine(this._renderedViewLine?this._renderedViewLine.domNode:null,V,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}};ja.CLASS_NAME="view-line";let ViewLine=ja;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 z=this._characterMapping.getHorizontalOffset(t);return this._charWidth*z}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 z=this._characterMapping.getHorizontalOffset(t);return this._charWidth*z}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),z=Math.round(this.input.spaceWidth*L);if(Math.abs(z-k)<=1)return z}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=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(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 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(146),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 z=e.visibleRangeForPosition(y,k);if(!z)return t.fulfillUnknown(r);const V=z.left;if(Math.abs(t.mouseContentHorizontalOffset-V)<1)return t.fulfillContentText(r,null,{mightBeForeignElement:!!g,injectedText:g});const j=[];if(j.push({offset:z.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$2(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 z=new PageCoordinates(t.pos.x,L),V=this._actualDoHitTestWithCaretRangeFromPoint(e,z.toClientCoordinates(getWindow$2(e.viewDomNode)));if(V.type===1)return V}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(getWindow$2(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$2(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$2(r),k=y.getComputedStyle(r,null).getPropertyValue("font-style"),L=y.getComputedStyle(r,null).getPropertyValue("font-variant"),z=y.getComputedStyle(r,null).getPropertyValue("font-weight"),V=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(z," ").concat(V,"/").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;hethis._createMouseTarget(y,k),y=>this._getMouseColumn(y))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).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 z=new StandardWheelEvent(L);if(e.acceptStandardWheelEvent(z),e.isPhysicalMouseWheel()){if(k(L)){const V=EditorZoom.getZoomLevel(),j=z.deltaY>0?1:-1;EditorZoom.setZoomLevel(V+j),z.preventDefault(),z.stopPropagation()}}else Date.now()-t>50&&(i=EditorZoom.getZoomLevel(),r=k(L),g=0),t=Date.now(),g+=z.deltaY,r&&(EditorZoom.setZoomLevel(i+g/5),z.preventDefault(),z.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(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(e,t).toPageCoordinates(getWindow$2(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(V&&(r||y&&k))j(),this._mouseDownOperation.start(i.type,e,t);else if(g)e.preventDefault();else if(L){const ie=i.detail;V&&this.viewHelper.shouldSuppressMouseDownOnViewZone(ie.viewZoneId)&&(j(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else z&&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,z)=>this._dispatchMouse(k,L,z))),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(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(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,z=HitTestContext.getZoneAtCoord(this._context,L);if(z){const j=this._helpPositionJumpOverViewZone(z);if(j)return MouseTarget.createOutsideEditor(g,j,"below",k)}const V=r.getLineNumberAtVerticalOffset(L);return MouseTarget.createOutsideEditor(g,new Position$1(V,i.getLineMaxColumn(V)),"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$2(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 z=createEditorPagePosition(this._viewHelper.viewDomNode),V=this._context.configuration.options.get(146).horizontalScrollbarHeight,j=new PageCoordinates(this._mouseEvent.pos.x,z.y+z.height-V-.1),ie=createCoordinatesRelativeToEditor(this._viewHelper.viewDomNode,z,j);L=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),z,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$2(L.element),()=>this._execute())}}const Ga=class Ga{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>Ga.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)}};Ga.CLEAR_MOUSE_DOWN_COUNT_TIME=400;let MouseDownState=Ga;const Cs=class Cs{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 Cs(i,r,g,null,y)}collapseSelection(){return this.selectionStart===this.value.length?this:new Cs(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,z,V,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((z=(L=this.selection)==null?void 0:L.getStartPosition())!=null?z:null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition((j=(V=this.selection)==null?void 0:V.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(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,z=t.selectionStart-r,V=t.selectionEnd-r;if(z===V){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}}};Cs.EMPTY=new Cs("",0,0,null,void 0);let TextAreaState=Cs;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),z=PagedScreenReaderStrategy._getRangeForPage(L,i);let V=k.intersectRanges(new Range$2(1,1,t.startLineNumber,t.startColumn));if(r&&e.getValueLengthInRange(V,1)>500){const de=e.modifyPosition(V.getEndPosition(),-500);V=Range$2.fromPositions(de,V.getEndPosition())}const j=e.getValueInRange(V,1),ie=e.getLineCount(),oe=e.getLineMaxColumn(ie);let re=z.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=z.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,V.endLineNumber-V.startLineNumber)}}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$1W=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},qa=class qa{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)}};qa.INSTANCE=new qa;let InMemoryClipboardMetadataManager=qa;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 z=new StandardKeyboardEvent(L);(z.keyCode===114||this._currentComposition&&z.keyCode===1)&&z.stopPropagation(),z.equals(9)&&z.preventDefault(),k=z,this._onKeyDown.fire(z)})),this._register(this._textArea.onKeyUp(L=>{const z=new StandardKeyboardEvent(L);this._onKeyUp.fire(z)})),this._register(this._textArea.onCompositionStart(L=>{const z=new CompositionContext;if(this._currentComposition){this._currentComposition=z;return}if(this._currentComposition=z,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")){z.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 z=this._currentComposition;if(!z)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 V=z.handleCompositionUpdate(L.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(V),this._onCompositionUpdate.fire(L)})),this._register(this._textArea.onCompositionEnd(L=>{const z=this._currentComposition;if(!z)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 V=z.handleCompositionUpdate(L.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(V),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(L=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const z=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),V=TextAreaState.deduceInput(this._textAreaState,z,this._OS===2);V.replacePrevCharCnt===0&&V.text.length===1&&(isHighSurrogate(V.text.charCodeAt(0))||V.text.charCodeAt(0)===127)||(this._textAreaState=z,(V.text!==""||V.replacePrevCharCnt!==0||V.replaceNextCharCnt!==0||V.positionDelta!==0)&&this._onType.fire(V))})),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[z,V]=ClipboardEventUtils.getTextData(L.clipboardData);z&&(V=V||InMemoryClipboardMetadataManager.INSTANCE.get(z),this._onPaste.fire({text:z,metadata:V}))})),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 z=this._textAreaState.deduceEditorPosition(k),V=this._host.deduceModelPosition(z[0],z[1],z[2]),j=this._textAreaState.deduceEditorPosition(L),ie=this._host.deduceModelPosition(j[0],j[1],j[2]),oe=new Selection$1(V.lineNumber,V.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$1_([__param$1W(4,IAccessibilityService),__param$1W(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$2(g),L=g===r,z=r.selectionStart,V=r.selectionEnd;if(L&&z===t&&V===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 Ya=class Ya 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(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$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(z=>!!z.options.lineNumberClassName);g.sort((z,V)=>Range$2.compareRangesUsingEnds(z.range,V.range));let y=0;const k=this._context.viewModel.getLineCount(),L=[];for(let z=i;z<=r;z++){const V=z-i;let j=this._getLineRenderLineNumber(z),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]}};Ya.CLASS_NAME="line-numbers";let LineNumbersOverlay=Ya;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),"; }"))});const ys=class ys extends ViewPart{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(document.createElement("div")),this._domNode.setClassName(ys.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(ys.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)}};ys.CLASS_NAME="glyph-margin",ys.OUTER_CLASS_NAME="margin";let Margin=ys;const MOUSE_CURSOR_TEXT_CSS_CLASS_NAME="monaco-mouse-cursor-text";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)}};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(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$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(125))),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(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=createFastDomNode(document.createElement("div")),this.textAreaCover.setPosition("absolute");const z={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)},V={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()&&z.getValueLengthInRange(ie,0)<500){const re=z.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(z,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,V,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),_e=pe.lastIndexOf(" "),Ce=pe.length-_e-1,xe=re.getStartPosition(),Ie=Math.min(xe.column-1,Ce),Ne=xe.column-1-Ie,$e=pe.substring(0,pe.length-Ie),{tabSize:Oe}=this._context.viewModel.model.getOptions(),Fe=measureText(this.textArea.domNode.ownerDocument,$e,this._fontInfo,Oe);return{distanceToModelLineStart:Ne,widthOfHiddenTextBefore:Fe}})(),{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),_e=pe.indexOf(" "),Ce=_e===-1?pe.length:pe.length-_e-1,xe=re.getEndPosition(),Ie=Math.min(this._context.viewModel.model.getLineMaxColumn(xe.lineNumber)-xe.column,Ce);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,z=0;for(;z<50&&(g||k);){if(g&&y<=1&&(g=!1),g){const V=i.charCodeAt(y-2);r.get(V)!==0?g=!1:y--}if(k&&L>i.length&&(k=!1),k){const V=i.charCodeAt(L-1);r.get(V)!==0?k=!1:L++}z++}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(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(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(),z=localize("accessibilityModeOff","The editor is not accessible at this time.");return y?localize("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",z,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.",z,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.",z,L):z}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(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?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.enabled||e.get(34)&&e.get(92)?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.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,z=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let V=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=z*this._lineHeight,this.textArea.domNode.scrollLeft=V,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 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||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?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$1Z([__param$1V(3,IKeybindingService),__param$1V(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 r.remove(),y}const autoCloseAlways=()=>!0,autoCloseNever=()=>!1,autoCloseBeforeWhitespace=n=>n===" "||n===" ";class CursorConfiguration{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 V;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 z=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=(V=z==null?void 0:z.blockCommentStartToken)!=null?V: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(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 mc{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 mc.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,r=e.length;ig,z=r>y,V=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 z=t.getLineMaxColumn(L),V=e.visibleColumnFromColumn(t,new Position$1(L,z));r=Math.max(r,V)}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)),z=t.normalizePosition(MoveOperations.clipPositionColumn(L,t),0),V=MoveOperations.left(e,t,z);y=V.lineNumber,k=V.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 iV?(i=V,k?r=t.getLineMaxColumn(i):r=Math.min(t.getLineMaxColumn(i),r)):r=e.columnFromVisibleColumn(t,i,z),oe?g=0:g=z-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,z;do if(z=MoveOperations.down(e,t,y+L,k,i.leftoverVisibleColumns,g,!0),t.normalizePosition(new Position$1(z.lineNumber,z.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$3(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),z=CursorColumns.prevIndentTabStop(L,i.indentSize),V=i.columnFromVisibleColumn(t,r.lineNumber,z);return new Range$2(r.lineNumber,V,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)!==z.lineNumber?(V=z.lineNumber-1,j=t.getLineMaxColumn(z.lineNumber-1),ie=z.lineNumber,oe=t.getLineMaxColumn(z.lineNumber)):(V=z.lineNumber,j=1,ie=z.lineNumber,oe=t.getLineMaxColumn(z.lineNumber));const re=new Range$2(V,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,g){let y=i.lineNumber,k=i.column;k===1&&y>1&&(y=y-1,k=t.getLineMaxColumn(y));let L=WordOperations._findPreviousWordOnLine(e,t,new Position$1(y,k));if(r===0)return new Position$1(y,L?L.start+1:1);if(r===1)return!g&&L&&L.wordType===2&&L.end-L.start===1&&L.nextCharClass===0&&(L=WordOperations._findPreviousWordOnLine(e,t,new Position$1(y,L.start+1))),new Position$1(y,L?L.start+1:1);if(r===3){for(;L&&L.wordType===2;)L=WordOperations._findPreviousWordOnLine(e,t,new Position$1(y,L.start+1));return new Position$1(y,L?L.start+1:1)}return L&&k<=L.end+1&&(L=WordOperations._findPreviousWordOnLine(e,t,new Position$1(y,L.start+1))),new Position$1(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$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?z=1:(L--,z=r.getLineMaxColumn(L)):(V&&z<=V.end+1&&(V=WordOperations._findPreviousWordOnLine(i,r,new Position$1(L,V.start+1))),V?z=V.end+1:z>1?z=1:(L--,z=r.getLineMaxColumn(L))),new Range$2(L,z,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)},z=WordOperations._findPreviousWordOnLine(e,t,i);if(z&&y(z))return L(z);const V=WordOperations._findNextWordOnLine(e,t,i);return V&&y(V)?L(V):z&&V?k(z.end+1,V.start+1):z?k(z.start+1,z.end+1):V?k(V.start+1,V.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?z=ie.start+1:z!!e)}class CursorMoveCommands{static addCursorDown(e,t,i){const r=[];let g=0;for(let y=0,k=t.length;yz&&(V=z,j=e.model.getLineMaxColumn(V)),CursorState$1.fromModelState(new SingleCursorState(new Range$2(y.lineNumber,1,V,j),2,0,new Position$1(V,j),0))}const L=t.modelState.selectionStart.getStartPosition().lineNumber;if(y.lineNumberL){const z=e.getLineCount();let V=k.lineNumber+1,j=1;return V>z&&(V=z,j=e.getLineMaxColumn(V)),CursorState$1.fromViewState(t.viewState.move(!0,V,j,0))}else{const z=t.modelState.selectionStart.getEndPosition();return CursorState$1.fromModelState(t.modelState.move(!0,z.lineNumber,z.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),z=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,z)]}case 13:{const L=this._lastLineNumberInRange(e.model,k,g),z=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,z)]}case 12:{const L=Math.round((k.startLineNumber+k.endLineNumber)/2),z=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,z)]}case 14:{const L=[];for(let z=0,V=t.length;zi.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;g{this.model.tokenization.forceTokenization(oe);const re=this.model.tokenization.getLineTokens(oe),ae=this.model.getLineMaxColumn(oe)-1;return createScopedLineTokens(re,ae)};this.model.tokenization.forceTokenization(e.startLineNumber);const i=this.model.tokenization.getLineTokens(e.startLineNumber),r=createScopedLineTokens(i,e.startColumn-1),g=LineTokens.createEmpty("",r.languageIdCodec),y=e.startLineNumber-1;if(y===0||!(r.firstCharOffset===0))return g;const z=t(y);if(!(r.languageId===z.languageId))return g;const j=z.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,z)=>{const V=getLeadingWhitespace(L);return z+L.substring(V.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 z=e.getStandardTokenType(L);let V=e.getTokenText(L);t(z)&&(V=V.replace(g,""));const j=e.getMetadata(L);y.push({text:V,metadata:j})}),LineTokens.createFromTextAndMetadata(y,e.languageIdCodec)}}function isLanguageDifferentFromLineStart(n,e){n.tokenization.forceTokenization(e.lineNumber);const t=n.tokenization.getLineTokens(e.lineNumber),i=createScopedLineTokens(t,e.column-1),r=i.firstCharOffset===0,g=t.getLanguageId(0)===i.languageId;return!r&&!g}function getEnterAction(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(),z=k.beforeRangeProcessedTokens.getLineContent(),V=k.afterRangeProcessedTokens.getLineContent(),j=g.onEnter(n,L,z,V);if(!j)return null;const ie=j.indentAction;let oe=j.appendText;const re=j.removeText||0;oe?ie===IndentAction.Indent&&(oe=" "+oe):ie===IndentAction.Indent||ie===IndentAction.IndentOutdent?oe=" ":oe="";let ae=getIndentationAtPosition(e,t.startLineNumber,t.startColumn);return re&&(ae=ae.substring(0,ae.length-re)),{indentAction:ie,appendText:oe,removeText:re,indentation:ae}}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)}},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),z=CursorColumns.prevIndentTabStop(y,r)/r;return cachedStringRepeat(k,z)}else{const k=" ",z=CursorColumns.prevRenderTabStop(y,i)/i;return cachedStringRepeat(k,z)}}static shiftIndent(e,t,i,r,g){const y=CursorColumns.visibleColumnFromColumn(e,t,i);if(g){const k=cachedStringRepeat(" ",r),z=CursorColumns.nextIndentTabStop(y,r)/r;return cachedStringRepeat(k,z)}else{const k=" ",z=CursorColumns.nextRenderTabStop(y,i)/i;return cachedStringRepeat(k,z)}}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 z=0,V=0;for(let j=i;j<=r;j++,z=V){V=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(V=z,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(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(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(L),action:IndentAction.Indent,line:k}}else if(y.shouldDecrease(k)){const L=e.getLineContent(k);return{indentation:getLeadingWhitespace(L),action:null,line:k}}else{if(k===1)return{indentation:getLeadingWhitespace(e.getLineContent(k)),action:null,line:k};const L=k-1,z=g.getIndentMetadata(e.getLineContent(L));if(!(z&3)&&z&4){let V=0;for(let j=L-1;j>0;j--)if(!y.shouldIndentNextLine(j)){V=j;break}return{indentation:getLeadingWhitespace(e.getLineContent(V+1)),action:null,line:V+1}}if(i)return{indentation:getLeadingWhitespace(e.getLineContent(k)),action:null,line:k};for(let V=k;V>0;V--){if(y.shouldIncrease(V))return{indentation:getLeadingWhitespace(e.getLineContent(V)),action:IndentAction.Indent,line:V};if(y.shouldIndentNextLine(V)){let j=0;for(let ie=V-1;ie>0;ie--)if(!y.shouldIndentNextLine(V)){j=ie;break}return{indentation:getLeadingWhitespace(e.getLineContent(j+1)),action:null,line:j+1}}else if(y.shouldDecrease(V))return{indentation:getLeadingWhitespace(e.getLineContent(V)),action:null,line:V}}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=new ProcessedIndentRulesSupport(e,k,g),z=getInheritIndentForLine(n,e,i,void 0,g);if(z){const V=z.line;if(V!==void 0){let j=!0;for(let ie=V;ie0){const de=e.getLineContent(le);if(z.shouldIndentNextLine(de)&&z.shouldIncrease(ae)){const ue=getInheritIndentForLine(y,e,t.startLineNumber,!1,g),he=ue==null?void 0:ue.indentation;if(he!==void 0){const pe=e.getLineContent(t.startLineNumber),_e=getLeadingWhitespace(pe),xe=r.shiftIndent(he)===_e,Ie=/^\s*$/.test(re),Ne=n.autoClosingPairs.autoClosingPairsOpenByEnd.get(i),Oe=Ne&&Ne.length>0&&Ie;if(xe&&Oe)return he}}}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))}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 z=this._findActualIndentationForSelection(e,t,L,r);if(z===null)return;y.push({selection:L,indentation:z})}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(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:z})=>{if(g!==null){const V=this._getEditFromIndentationAndSelection(e,t,z,L,r,!1);return new TypeWithIndentationAndAutoClosingCommand(V,L,r,g)}else{const V=this._getEditFromIndentationAndSelection(e,t,z,L,r,!0);return typeCommand(V.range,V.text,!1)}}),k={shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1};return new EditOperationResult(4,y,k)}static _getEditFromIndentationAndSelection(e,t,i,r,g,y=!0){const k=r.startLineNumber,L=t.getLineFirstNonWhitespaceColumn(k);let z=e.normalizeIndentation(i);if(L!==0){const j=t.getLineContent(k);z+=j.substring(L-1,r.startColumn-1)}return z+=y?g:"",{range:new Range$2(k,1,r.endLineNumber,r.endColumn),text:z}}}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(new Range$2(k.positionLineNumber,k.positionColumn,k.positionLineNumber,k.positionColumn+1),"",!1));return new EditOperationResult(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$1(re.lineNumber,re.beforeColumn)),r);if(!k)return null;let L,z;if(isQuote$3(r)?(L=e.autoClosingQuotes,z=e.shouldAutoCloseBefore.quote):(e.blockCommentStartToken?k.open.includes(e.blockCommentStartToken):!1)?(L=e.autoClosingComments,z=e.shouldAutoCloseBefore.comment):(L=e.autoClosingBrackets,z=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)&&!z(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 _e=t.tokenization.getLineTokens(ae),Ce=createScopedLineTokens(_e,le-1);if(!k.shouldAutoClose(Ce,le-Ce.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 z of i)if(t.getValueInRange(new Range$2(z.lineNumber,z.column-k.open.length+1,z.lineNumber,z.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(e.autoIndent,t,r,{unshiftIndent:z=>unshiftIndent(e,z),shiftIndent:z=>shiftIndent(e,z),normalizeIndentation:z=>e.normalizeIndentation(z)},e.languageConfigurationService);if(L){let z=e.visibleColumnFromColumn(t,r.getEndPosition());const V=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 V<=ie+1&&(e.insertSpaces||(z=Math.ceil(z/e.indentSize)),oe=Math.min(z+1-e.normalizeIndentation(L.afterEnter).length-1,0)),new ReplaceCommandWithOffsetCursorState(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,V,g,y,k,L));return new EditOperationResult(4,z,{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),z=Math.min(e.getLineMaxColumn(k.lineNumber),k.column+g),V=new Range$2(k.lineNumber,L,k.lineNumber,z);return e.getValueInRange(V)===i&&y===0?null:new ReplaceCommandWithOffsetCursorState(V,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 V=t.getLineContent(k);if(lastNonWhitespaceIndex(V)>=0)break}if(k<1)return null;const L=t.getLineMaxColumn(k),z=getEnterAction(e.autoIndent,t,new Range$2(k,L,k,L),e.languageConfigurationService);z&&(g=z.indentation+z.appendText)}return r&&(r===IndentAction.Indent&&(g=shiftIndent(e,g)),r===IndentAction.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,z=L-k%L;for(let V=0;V2?z.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).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(_e=>CursorState$1.fromViewState(_e))),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 _e=de.model.validatePosition(pe.position),Ce=de.coordinatesConverter.validateViewPosition(new Position$1(pe.viewPosition.lineNumber,pe.viewPosition.column),_e),xe=pe.doColumnSelect?he.fromViewLineNumber:Ce.lineNumber,Ie=pe.doColumnSelect?he.fromViewVisualColumn:pe.mouseColumn-1;return ColumnSelection.columnSelect(de.cursorConfig,de,xe,Ie,Ce.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,_e){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,_e){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 _e=pe.select,Ce=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,_e,Ce,pe.unit);case 11:case 13:case 12:case 14:return CursorMoveCommands.viewportMove(ue,he,pe.direction,_e,Ce);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 _e=he.modelState?he.modelState.position:null,Ce=he.viewState?he.viewState.position:null;for(let xe=0,Ie=pe.length;xeCe&&(_e=Ce);const xe=new Range$2(_e,1,_e,de.model.getLineMaxColumn(_e));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,EnterOperation.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(92)===!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(92)===!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._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("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 z=L-this._rendLineNumberStart;e<=L&&L<=t&&(y===0?(g=z,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),z=Math.min(i,k.toLineNumber);for(let V=L;V<=z;V++){const j=V-this._rendLineNumberStart;this._lines[j].onTokensChanged(),r=!0}}return r}}class VisibleLinesCollection{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new RenderedLinesCollection(this._lineFactory)}_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(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 z=y+L;k[L].layoutLine(z,r[z-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");ko._ttPolicy&&(t=ko._ttPolicy.createHTML(t)),r.innerHTML=t;for(let g=0;ge}),ko._sb=new StringBuilder(1e5);let ViewLayerRenderer=ko;class ViewOverlays extends ViewPart{constructor(e){super(e),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new VisibleLinesCollection({createLine:()=>new ViewOverlayLine(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);applyFontInfo(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))}}class ContentViewOverlays extends ViewOverlays{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))}}class MarginViewOverlays extends ViewOverlays{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(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;applyFontInfo(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)}}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.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 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(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(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[z,V,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+V),y.setTop(k-e.scrollTop-z),y.setHeight(L-k+z+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,z=g-i,V=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(V,ae),fitsBelow:ue,belowTop:j,left:re}:{fitsAbove:de,aboveTop:g,fitsBelow:ue,belowTop:y,left:oe}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new Coordinate(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,z,V){if(!L)return null;const j=e.visibleRangeForPosition(L);if(!j)return null;const ie=L.column===1&&z===3?0:j.left,oe=e.getVerticalOffsetForLineNumber(L.lineNumber)-e.scrollTop;return new AnchorCoordinate(oe,ie,V)}}_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(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(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$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$2(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,z=L.convertViewPositionToModelPosition(new Position$1(k,1)).lineNumber,V=L.convertModelPositionToViewPosition(new Position$1(z,1)).lineNumber,j=L.convertModelPositionToViewPosition(new Position$1(z,this._context.viewModel.model.getLineMaxColumn(z))).lineNumber,ie=Math.max(V,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,z=t.length;L{if(L.options.zIndexz.options.zIndex)return 1;const V=L.options.className,j=z.options.className;return Vj?1:Range$2.compareRangesUsingStarts(L.range,z.range)});const g=e.visibleRange.startLineNumber,y=e.visibleRange.endLineNumber,k=[];for(let L=g;L<=y;L++){const z=L-g;k[z]=""}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',V=Math.max(L.range.startLineNumber,r),j=Math.min(L.range.endLineNumber,g);for(let ie=V;ie<=j;ie++){const oe=ie-r;i[oe]+=z}}}_renderNormalDecorations(e,t,i){var z;const r=e.visibleRange.startLineNumber;let g=null,y=!1,k=null,L=!1;for(let V=0,j=t.length;V';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(104),k=g.get(75),L=g.get(40),z=g.get(107),V={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:z,scrollByPage:y.scrollByPage};this.scrollbar=this._register(new SmoothScrollableElement(t.domNode,V,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(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(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 z=Math.max(k,i),V=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(z,0)),j=this._context.viewModel.glyphLanes.getLanesAtLine(V.lineNumber).indexOf(g.preference.lane);t.push(new WidgetBasedGlyphRenderRequest(z,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 IndentGuidesOverlay extends DynamicViewOverlay{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,z,V,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=(z=(L=e.visibleRangeForPosition(new Position$1(ie,1)))==null?void 0:L.left)!=null?z:0;for(const de of re){const ue=de.column===-1?le+(de.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new Position$1(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=(V=e.visibleRangeForPosition(new Position$1(ie,de.horizontalLine.endColumn)))==null?void 0:V.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.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:z}=this._context.viewModel.model.getOptions(),V=[];for(let j=e;j<=t;j++){const ie=new Array;V.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)*z+1,ue=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||oe.length===0)&&y<=j&&j<=k&&le===L;ie.push(...re.takeWhile(pe=>pe.visibleColumn!0)||[])}return V}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 oe,re;const L=n.getColor(k.bracketColor),z=n.getColor(k.guideColor),V=n.getColor(k.guideColorActive),j=transparentToUndefined((oe=transparentToUndefined(z))!=null?oe:L==null?void 0:L.transparent(.3)),ie=transparentToUndefined((re=transparentToUndefined(V))!=null?re:L);if(!(!j||!ie))return{guideColor:j,guideColorActive:ie}}).filter(isDefined),y=r.map(k=>{const L=n.getColor(k.indentColor),z=n.getColor(k.indentColorActive),V=transparentToUndefined(L),j=transparentToUndefined(z);if(!(!V||!j))return{indentColor:V,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,z=t.length;Lnew ViewLine(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,PartFingerprints.write(this.domNode,8),this.domNode.setClassName("view-lines ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)),applyFontInfo(this.domNode,g),this._maxLineWidth=0,this._asyncUpdateLineWidths=new RunOnceScheduler(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new LastRenderedData,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(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(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 z=this._visibleLines.getStartLineNumber(),V=this._visibleLines.getEndLineNumber();for(let j=r.startLineNumber;j<=r.endLineNumber;j++){if(jV)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(!V)return-1;le=j}else if(y===5||y===6)if(y===6&&k<=j&&ie<=z)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<=z)le=k;else{const de=(j+ie)/2;le=Math.max(0,de-L/2)}else le=this._computeMinimumScrolling(k,z,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 z=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!z)return null;for(const V of z.ranges)y=Math.min(y,Math.round(V.left)),k=Math.max(k,Math.round(V.left+V.width))}else for(const z of e.selections){if(z.startLineNumber!==z.endLineNumber)return null;const V=this._visibleRangesForLineRange(z.startLineNumber,z.startColumn,z.endColumn);if(!V)return null;for(const j of V.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-Xa.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}};Xa.HORIZONTAL_EXTRA_PX=30;let ViewLines=Xa;class LinesDecorationsOverlay extends DedupOverlay{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 z=t;z<=i;z++){const V=z-t,j=r[V].getDecorations();let ie="";for(const oe of j){let re='
    ';g[k]=z}this._renderResult=g}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}const Ao=class Ao{constructor(e,t,i,r){this._rgba8Brand=void 0,this.r=Ao._clamp(e),this.g=Ao._clamp(t),this.b=Ao._clamp(i),this.a=Ao._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}};Ao.Empty=new Ao(0,0,0,0);let RGBA8=Ao;const Za=class Za extends Disposable{static getInstance(){return this._INSTANCE||(this._INSTANCE=new Za),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}};Za._INSTANCE=null;let MinimapTokensColorTracker=Za;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=V?this.charDataLight:this.charDataNormal,le=getCharIndex(r,z),de=e.width*4,ue=k.r,he=k.g,pe=k.b,_e=g.r-ue,Ce=g.g-he,xe=g.b-pe,Ie=Math.max(y,L),Ne=e.data;let $e=le*ie*oe,Oe=i*de+t*4;for(let Fe=0;Fee.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,_e=ae+ue*oe,Ce=le+he*oe,xe=Math.max(g,k),Ie=e.data;let Ne=i*ie+t*4;for(let $e=0;$e{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,z=0;for(let V=0;V0){const z=255/L;for(let V=0;VMinimapCharRendererFactory.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.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&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,z){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=z}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,z,V,j){const ie=e.pixelRatio,oe=e.minimapLineHeight,re=Math.floor(e.canvasInnerHeight/oe),ae=e.lineHeight;if(e.minimapHeightIsEditorHeight){let Ce=L*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(Ce+=Math.max(0,g-e.lineHeight-e.paddingBottom));const xe=Math.max(1,Math.floor(g*g/Ce)),Ie=Math.max(0,e.minimapHeight-xe),Ne=Ie/(V-g),$e=z*Ne,Oe=Ie>0,Fe=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),Et=Math.floor(e.paddingTop/e.lineHeight);return new MinimapLayout(z,V,Oe,Ne,$e,xe,Et,1,Math.min(k,Fe))}let le;if(y&&i!==k){const Ce=i-t+1;le=Math.floor(Ce*oe/ie)}else{const Ce=g/ae;le=Math.floor(Ce*oe/ie)}const de=Math.floor(e.paddingTop/ae);let ue=Math.floor(e.paddingBottom/ae);if(e.scrollBeyondLastLine){const Ce=g/ae;ue=Math.max(ue,Ce-1)}let he;if(ue>0){const Ce=g/ae;he=(de+k+ue-Ce-1)*oe/ie}else he=Math.max(0,(de+k)*oe/ie-le);he=Math.min(e.minimapHeight-le,he);const pe=he/(V-g),_e=z*pe;if(re>=de+k+ue){const Ce=he>0;return new MinimapLayout(z,V,Ce,pe,_e,le,de,1,k)}else{let Ce;t>1?Ce=t+de:Ce=Math.max(1,z/ae);let xe,Ie=Math.max(1,Math.floor(Ce-_e*ie/oe));Iez&&(Ie=Math.min(Ie,j.startLineNumber),xe=Math.max(xe,j.topPaddingLineCount)),j.scrollTop=e.paddingTop?Oe=(t-Ie+xe+$e)*oe/ie:Oe=z/e.paddingTop*(xe+$e)*oe/ie,new MinimapLayout(z,V,!0,pe,Oe,le,xe,Ie,Ne)}}}const Qa=class Qa{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}};Qa.INVALID=new Qa(-1);let MinimapLine=Qa;class RenderData{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new RenderedLinesCollection({createLine:()=>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.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.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 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$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 z=getDomNodePagePosition(this._slider.domNode),V=z.top+z.height/2;this._startSliderDragging(i,V,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),z=Math.min(Math.abs(k-r),Math.abs(k-L.left),Math.abs(k-L.left-L.width));if(isWindows&&z>POINTER_DRAG_RESET_DISTANCE){this._model.setScrollTop(i.scrollTop);return}const V=y-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(V))};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.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),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,z=this._decorationsCanvas.domNode.getContext("2d");z.clearRect(0,0,r,g);const V=new ContiguousLineMap(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(z,t,V,e,y),this._renderDecorationsLineHighlights(z,i,V,e,y);const j=new ContiguousLineMap(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(z,t,j,e,y,L,k,r),this._renderDecorationsHighlights(z,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 z=r.intersectWithViewport(L);if(!z)continue;const[V,j]=z;for(let re=V;re<=j;re++)i.set(re,!0);const ie=r.getYForLineNumber(V,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],z=L.options.minimap;if(!z||z.position!==1)continue;const V=r.intersectWithViewport(L.range);if(!V)continue;const[j,ie]=V,oe=z.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 z of t){const V=r.intersectWithViewport(z);if(!V)continue;const[j,ie]=V;for(let oe=j;oe<=ie;oe++)this.renderDecorationOnLine(e,i,z,this._selectionColor,r,oe,g,g,y,k,L)}}_renderDecorationsHighlights(e,t,i,r,g,y,k,L){for(const z of t){const V=z.options.minimap;if(!V)continue;const j=r.intersectWithViewport(z.range);if(!j)continue;const[ie,oe]=j,re=V.getColor(this._theme.value);if(!(!re||re.isTransparent()))for(let ae=ie;ae<=oe;ae++)switch(V.position){case 1:this.renderDecorationOnLine(e,i,z.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,z,V,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,z,V,j),ue=this.getXOffsetForPosition(t,y,le,z,V,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 z=this._model.getLineContent(t);L=[MINIMAP_GUTTER_WIDTH];let V=MINIMAP_GUTTER_WIDTH;for(let j=1;j=y){L[j]=y;break}L[j]=re,V=re}e.set(t,L)}return i-1le.range.startLineNumber-de.range.startLineNumber);const re=InnerMinimap._fitSectionHeader.bind(null,ie,y-MINIMAP_GUTTER_WIDTH);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);InnerMinimap._renderSectionLabel(ie,pe,((ae=le.options.minimap)==null?void 0:ae.sectionHeaderStyle)===2,L,V,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,z=Math.floor((t-y)/L)-1;let V=Math.ceil(z/2);for(;V>0&&/\s/.test(i[V-1]);)--V;return i.substring(0,V)+r+i.substring(k-(z-V))}static _renderSectionLabel(e,t,i,r,g,y,k,L,z,V){t&&(e.fillStyle=r,e.fillRect(0,k,y,L),e.fillStyle=g,e.fillText(t,MINIMAP_GUTTER_WIDTH,z)),i&&(e.beginPath(),e.moveTo(0,V),e.lineTo(y,V),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 qe=this._lastRenderData._get();return new RenderData(e,qe.imageData,qe.lines)}const g=this._getBuffer();if(!g)return null;const[y,k,L]=InnerMinimap._renderUntouchedLines(g,e.topPaddingLineCount,t,i,r,this._lastRenderData),z=this._model.getMinimapLinesRenderingData(t,i,L),V=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,_e=(le===1?2:3)*ue,Ce=r>_e?Math.floor((r-_e)/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 $e=[];for(let qe=0,Ve=i-t+1;qe=0&&Oeue)return;const Fe=le.charCodeAt(_e);if(Fe===9){const Et=ie-(_e+Ce)%ie;Ce+=Et-1,pe+=Et*y}else if(Fe===32)pe+=y;else{const Et=isFullWidthCharacter(Fe)?2:1;for(let ze=0;zeue)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(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(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(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(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,z=L+g,V=L+g+k;return[[0,L,z,L,V,L,z,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$2(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,z=6*this._settings.pixelRatio|0,V=z/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,_e=le.length/3;pe<_e;pe++){const Ce=le[3*pe],xe=le[3*pe+1],Ie=le[3*pe+2];let Ne=y.getVerticalOffsetForLineNumber(xe)*L|0,$e=(y.getVerticalOffsetForLineNumber(Ie)+g)*L|0;if($e-Ner&&(Fe=r-V),Ne=Fe-V,$e=Fe+V}Ne>he+1||Ce!==de?(pe!==0&&j.fillRect(ie[de],ue,oe[de],he-ue),de=Ce,ue=Ne,he=$e):$e>he&&(he=$e)}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 _e=0,Ce=this._cursorPositions.length;_er&&(Ne=r-ae);const $e=Ne-ae,Oe=$e+re;$e>he+1||xe!==pe?(_e!==0&&pe&&j.fillRect(le,ue,de,he-ue),ue=$e,he=Oe):Oe>he&&(he=Oe),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())}}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=V.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);V.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(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 z=L.colorId,V=L.from,j=L.to;z!==g?(e.fillRect(0,y,r,k-y),g=z,e.fillStyle=i[g],y=V,k=j):k>=V?k=Math.max(k,j):(e.fillRect(0,y,r,k-y),y=V,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(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(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":"")}}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))}const Ln=class Ln extends DynamicViewOverlay{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 z=0;!g&&z=0;z--)i[z].lineNumber===L&&(y=i[z].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(V-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,z=r.length;L1,z)}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]}};Ln.SELECTION_CLASS_NAME="selected-text",Ln.SELECTION_TOP_LEFT="top-left-radius",Ln.SELECTION_BOTTOM_LEFT="bottom-left-radius",Ln.SELECTION_TOP_RIGHT="top-right-radius",Ln.SELECTION_BOTTOM_RIGHT="bottom-right-radius",Ln.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",Ln.ROUNDED_PIECE_WIDTH=10;let SelectionsOverlay=Ln;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$2(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],z=g===" "?this._typicalHalfwidthCharacterWidth:L.width<1?this._typicalHalfwidthCharacterWidth:L.width;this._cursorStyle===TextEditorCursorStyle$1.Block&&(t=g,i=this._getTokenClassName(r));let V=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta,j=this._lineHeight;return(this._cursorStyle===TextEditorCursorStyle$1.Underline||this._cursorStyle===TextEditorCursorStyle$1.UnderlineThin)&&(V+=this._lineHeight-2,j=2),new ViewCursorRenderData(V,L.left,0,z,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)}}const ea=class ea extends ViewPart{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(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(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()},ea.BLINK_INTERVAL,getWindow$2(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},ea.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=()=>{throw new Error("Invalid change accessor")};class ViewZones extends ViewPart{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(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,r.removeZone=invalidFunc,r.layoutZone=invalidFunc}),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.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(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:z.minColumn,re=ie.endLineNumber===k?ie.endColumn:z.maxColumn;oe=$e.endOffset&&(Ne++,$e=i&&i[Ne]),Et!==9&&Et!==32||ie&&!Ce&&Fe<=Ie)continue;if(j&&Fe>=xe&&Fe<=Ie&&Et===32){const qe=Fe-1>=0?k.charCodeAt(Fe-1):0,Ve=Fe+1=0?k.charCodeAt(Fe-1):0;if(Et===32&&qe!==32&&qe!==9)continue}if(i&&(!$e||$e.startOffset>Fe||$e.endOffset<=Fe))continue;const ze=e.visibleRangeForPosition(new Position$1(t,Fe+1));ze&&(y?(Oe=Math.max(Oe,ze.left),Et===9?_e+=this._renderArrow(oe,le,ze.left):_e+='')):Et===9?_e+='
    ').concat(pe?"→":"→","
    "):_e+='
    ').concat(String.fromCharCode(he),"
    "))}return y?(Oe=Math.round(Oe+le),'')+_e+""):_e}_renderArrow(e,t,i){const r=t/7,g=t,y=e/2,k=i,L={x:0,y:r/2},z={x:100/125*g,y:L.y},V={x:z.x-.2*z.x,y:z.y+.2*z.x},j={x:V.x+.1*z.x,y:V.y+.1*z.x},ie={x:j.x+.35*z.x,y:j.y-.35*z.x},oe={x:ie.x,y:-ie.y},re={x:j.x,y:-j.y},ae={x:V.x,y:-V.y},le={x:z.x,y:-z.y},de={x:L.x,y:-L.y},he=[L,z,V,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(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}}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$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)}};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 z=new DecorationsOverviewRuler(this._context);this._viewParts.push(z);const V=new ScrollDecorationViewPart(this._context);this._viewParts.push(V);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),z){const de=this._scrollbar.getOverviewRulerLayoutInfo();de.parent.insertBefore(z.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(V.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 k,L,z;const y=(L=(k=g.options.glyphMargin)==null?void 0:k.position)!=null?L:GlyphMarginLane.Center;return r=Math.max(r,g.range.endLineNumber),{range:g.range,lane:y,persist:(z=g.options.glyphMargin)==null?void 0:z.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(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(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;if(this._renderAnimationFrame===null){const t=this._createCoordinatedRendering();this._renderAnimationFrame=EditorRenderingCoordinator.INSTANCE.scheduleCoordinatedRendering({window:getWindow$2((e=this.domNode)==null?void 0:e.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError;try{return t.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError;return t.renderText()},prepareRender:(i,r)=>{if(this._store.isDisposed)throw new BugIndicatingError;return t.prepareRender(i,r)},render:(i,r)=>{if(this._store.isDisposed)throw new BugIndicatingError;return t.render(i,r)}})}}_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,z;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,(z=(L=e.position)==null?void 0:L.positionAffinity)!=null?z: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$1=__decorate$1X([__param$1T(6,IInstantiationService)],View$1);function safeInvokeNoArg(n){try{return n()}catch(e){return onUnexpectedError(e),null}}const Ja=class Ja{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))}}};Ja.INSTANCE=new Ja;let EditorRenderingCoordinator=Ja;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)}}const ttPolicy$2=createTrustedTypesPolicy("domLineBreaksComputer",{createHTML:n=>n});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,z,V)=>{y.push(L),k.push(z)},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 Ne;function L($e){const Oe=k[$e];if(Oe){const Fe=LineInjectedText.applyInjectedText(e[$e],Oe),Et=Oe.map(qe=>qe.options),ze=Oe.map(qe=>qe.column-1);return new ModelLineProjectionData(ze,Et,[Fe.length],[],0)}else return null}if(r===-1){const $e=[];for(let Oe=0,Fe=e.length;Oez?(Fe=0,Et=0):ze=z-kt}const qe=Oe.substr(Fe),Ve=renderLine$1(qe,Et,i,ze,re,ie);ae[$e]=Fe,le[$e]=Et,de[$e]=qe,ue[$e]=Ve[0],he[$e]=Ve[1]}const pe=re.build(),_e=(Ne=ttPolicy$2==null?void 0:ttPolicy$2.createHTML(pe))!=null?Ne:pe;oe.innerHTML=_e,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 Ce=document.createRange(),xe=Array.prototype.slice.call(oe.children,0),Ie=[];for(let $e=0;$ejt.options),Ue=Dt.map(jt=>jt.column-1)):(kt=null,Ue=null),Ie[$e]=new ModelLineProjectionData(Ue,kt,Fe,Ve,ze)}return oe.remove(),Ie}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 z=[],V=[];let j=0");for(let ie=0;ie"),z[ie]=L,V[ie]=k;const oe=j;j=ie+1"),z[n.length]=L,V[n.length]=k,r.appendString("
    "),[z,V]}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,z=readClientRect(n,e,t[L],t[L+1]);discoverBreaks(n,e,t,i,r,L,z,k),discoverBreaks(n,e,t,L,z,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$2(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(runWhenWindowIdle(getWindow$2(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(runWhenWindowIdle(getWindow$2(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$2((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(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)}}class MonospaceLineBreaksComputerFactory{static create(e){return new MonospaceLineBreaksComputerFactory(e.get(135),e.get(134))}constructor(e,t){this.classifier=new WrappingCharacterClassifier(e,t)}createLineBreaksComputer(e,t,i,r,g){const y=[],k=[],L=[];return{addRequest:(z,V,j)=>{y.push(z),k.push(V),L.push(j)},finalize:()=>{const z=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,V=[];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 z=k==="keepAll",V=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=V.length;let _e=0;if(_e>=0){let Ce=Math.abs(j[_e]-he);for(;_e+1=Ce)break;Ce=xe,_e++}}for(;_eCe&&(Ce=de,xe=ue);let Ie=0,Ne=0,$e=0,Oe=0;if(xe<=he){let Et=xe,ze=Ce===0?0:t.charCodeAt(Ce-1),qe=Ce===0?0:n.get(ze),Ve=!0;for(let kt=Ce;ktde&&canBreak(ze,qe,Dt,jt,z)&&(Ie=Ue,Ne=Et),Et+=ei,Et>he){Ue>de?($e=Ue,Oe=Et-ei):($e=kt+1,Oe=Et),Et-Ne>oe&&(Ie=0),Ve=!1;break}ze=Dt,qe=jt}if(Ve){le>0&&(re[le]=V[V.length-1],ae[le]=j[V.length-1],le++);break}}if(Ie===0){let Et=xe,ze=t.charCodeAt(Ce),qe=n.get(ze),Ve=!1;for(let kt=Ce-1;kt>=de;kt--){const Ue=kt+1,Dt=t.charCodeAt(kt);if(Dt===9){Ve=!0;break}let jt,ei;if(isLowSurrogate(Dt)?(kt--,jt=0,ei=2):(jt=n.get(Dt),ei=isFullWidthCharacter(Dt)?g:1),Et<=he){if($e===0&&($e=Ue,Oe=Et),Et<=he-oe)break;if(canBreak(Dt,jt,ze,qe,z)){Ie=Ue,Ne=Et;break}}Et-=ei,ze=Dt,qe=jt}if(Ie!==0){const kt=oe-(Oe-Ne);if(kt<=i){const Ue=t.charCodeAt($e);let Dt;isHighSurrogate(Ue)?Dt=2:Dt=computeCharWidth(Ue,Oe,i,g),kt-Dt<0&&(Ie=0)}}if(Ve){_e--;continue}}if(Ie===0&&(Ie=$e,Ne=Oe),Ie<=de){const Et=t.charCodeAt(de);isHighSurrogate(Et)?(Ie=de+2,Ne=ue+2):(Ie=de+1,Ne=ue+computeCharWidth(Et,ue,i,g))}for(de=Ie,re[le]=Ie,ue=Ne,ae[le]=Ne,le++,he=Ne+oe;_e<0||_e=Fe)break;Fe=Et,_e++}}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 z,V;if(t&&t.length>0?(z=t.map(Ne=>Ne.options),V=t.map(Ne=>Ne.column-1)):(z=null,V=null),r===-1)return z?new ModelLineProjectionData(V,z,[L.length],[],0):null;const j=L.length;if(j<=1)return z?new ModelLineProjectionData(V,z,[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,_e=L.charCodeAt(0),Ce=n.get(_e),xe=computeCharWidth(_e,0,i,g),Ie=1;isHighSurrogate(_e)&&(xe+=1,_e=L.charCodeAt(1),Ce=n.get(_e),Ie++);for(let Ne=Ie;Nepe&&((ue===0||xe-he>re)&&(ue=$e,he=xe-Et),ae[de]=ue,le[de]=he,de++,pe=he+re,ue=0),_e=Oe,Ce=Fe}return de===0&&(!t||t.length===0)?null:(ae[de]=j,le[de]=xe,new ModelLineProjectionData(V,z,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 findFirstMin(this.cursors,compareBy(e=>e.viewState.position,Position$1.compare)).viewState.position}getBottomMostViewPosition(){return findLastMax(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(V,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,z=null;k.length>1?z=this._cursors.getViewSelections():L=Range$2.fromPositions(k[0],k[0]),e.emitViewEvent(new ViewRevealRangeRequestEvent(t,i,L,z,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((z,V)=>!z.modelState.equals(r.cursorState[V].modelState))){const z=r?r.cursorState.map(j=>j.modelState.selection):null,V=r?r.modelVersionId:0;e.emitOutgoingEvent(new CursorStateChangedEvent(z,k,V,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 z=L[0].open,V=g.text.length-y[2].length-1,j=g.text.lastIndexOf(z,V-1);if(j===-1)return null;t.push([j,V])}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,z=>{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 z=L.getPosition();return new Selection$1(z.lineNumber,z.column+g,z.lineNumber,z.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,z=>{const V=[];for(let oe=0;oeoe.identifier.minor-re.identifier.minor,ie=[];for(let oe=0;oe0?(V[oe].sort(j),ie[oe]=t[oe].computeCursorState(e.model,{getInverseEditOperations:()=>V[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 z in g)g.hasOwnProperty(z)&&L.push(parseInt(z,10));L.sort((z,V)=>V-z);for(const z of L)k.splice(z,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 V={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,V)}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;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(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 z=this._findWhitespaceIndex(L.id);z!==-1&&this._removeWhitespace(z)}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 z=[];for(const V of L)if(!r.has(V.id)){if(g.has(V.id)){const j=g.get(V.id);V.afterLineNumber=j.newAfterLineNumber,V.height=j.newHeight}z.push(V)}return z},k=y(this._arr).concat(y(e));k.sort((L,z)=>L.afterLineNumber===z.afterLineNumber?L.ordinal-z.ordinal:L.afterLineNumber-z.afterLineNumber),this._arr=k,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=Fo.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 z,V;k===-1?(k=L,V=y+1,z=0):(V=this.getAfterLineNumberForWhitespaceIndex(k)|0,z=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 _e=r;_e<=y;_e++){if(de===-1){const Ce=j,xe=j+i;(Ce<=le&&lele)&&(de=_e)}for(j+=i,ae[_e-r]=ie,ie+=i;V===_e;)ie+=z,j+=z,k++,k>=L?V=y+1:(V=this.getAfterLineNumberForWhitespaceIndex(k)|0,z=this.getHeightForWhitespaceIndex(k)|0);if(j>=t){y=_e;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}},Fo.INSTANCE_COUNT=0,Fo);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(146),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(115)?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(146)){const i=t.get(146),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(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(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(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(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 z=[];for(let V=g;V<=y;V++)z[V-g]=[];for(let V=0,j=r.length;Vt===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((z,V)=>new LineInjectedText(0,0,z+1,this._projectionData.injectionOptions[V],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,z=L.injectionOffsets,V=L.injectionOptions;let j=null;if(z){j=[];let oe=0,re=0;for(let ae=0;ae0?L.breakOffsets[ae-1]:0,ue=L.breakOffsets[ae];for(;reue)break;if(de<_e){const Ce=V[re];if(Ce.inlineClassName){const xe=ae>0?L.wrappedTextIndentLength:0,Ie=xe+Math.max(pe-de,0),Ne=xe+Math.min(_e-de,ue-de);Ie!==Ne&&le.push(new SingleLineInlineDecoration(Ie,Ne,Ce.inlineClassName,Ce.inlineClassNameAffectsLetterSpacing))}}if(_e<=ue)oe+=he,re++;else break}}}let ie;z?ie=e.tokenization.getLineTokens(t).withInserted(z.map((oe,re)=>({offset:oe,text:V[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 z=L.getLineContent();i>0&&(z=spaces(r.wrappedTextIndentLength)+z);const V=this._projectionData.getMinOutputOffset(i)+1,j=z.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,z,V){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=z,this.wordBreak=V,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(),z=[],V=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);z[ae]=ue.getViewLineCount(),this.modelLineProjections[ae]=ue}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new ConstantTimePrefixSumComputer(z)}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,z=-1,V=z+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,z=this.wrappingIndent===r,V=this.wordBreak===g;if(y&&k&&L&&z&&V)return!1;const j=y&&k&&!L&&z&&V;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=[],z=[];for(let V=0,j=r.length;VL?(V=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,j=V+L-1,re=j+1,ae=re+(g-L)-1,z=!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),z=this.convertModelPositionToViewPosition(k.endLineNumber,this.model.getLineMaxColumn(k.endLineNumber));return{startLineNumber:L.lineNumber,endLineNumber:z.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 z=this.modelLineProjections[L-1];if(z.isVisible()){const V=L===i.modelLineNumber?i.modelLineWrappedLineIdx:0,j=L===r.modelLineNumber?r.modelLineWrappedLineIdx+1:z.getViewLineCount();for(let ie=V;ie{if(oe.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[V.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.forWrappedLinesAfterColumn).lineNumber>=V.modelLineWrappedLineIdx||oe.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[V.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.forWrappedLinesBeforeOrAtColumn).lineNumberV.modelLineWrappedLineIdx)return}const ae=this.convertModelPositionToViewPosition(V.modelLineNumber,oe.horizontalLine.endColumn),le=this.modelLineProjections[V.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.horizontalLine.endColumn);return le.lineNumber===V.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,z=r.lineNumber-1;let V=null;for(let re=L;re<=z;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),V===null&&(V=new Position$1(re+1,0))}else V!==null&&(g=g.concat(this.model.guides.getLinesIndentGuides(V.lineNumber,re)),V=null)}V!==null&&(g=g.concat(this.model.guides.getLinesIndentGuides(V.lineNumber,r.lineNumber)),V=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,z+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),z=k.getViewLineMaxColumn(this.model,g+1,y);tz&&(t=z);const V=k.getModelColumnOfViewPosition(y,t);return this.model.validatePosition(new Position$1(g+1,V)).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 z=k-1,V=!1;if(g)for(;z0&&!this.modelLineProjections[z].isVisible();)z--,V=!0;if(z===0&&!this.modelLineProjections[z].isVisible())return new Position$1(r?0:1,1);const j=1+this.projectedModelLineLineCounts.getPrefixSum(z);let ie;return V?g?ie=this.modelLineProjections[z].getViewPositionOfModelPosition(j,1,i):ie=this.modelLineProjections[z].getViewPositionOfModelPosition(j,this.model.getLineMaxColumn(z+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 z=y.lineNumber-1,V=k.lineNumber-1;let j=null;for(let ae=z;ae<=V;ae++)if(this.modelLineProjections[ae].isVisible())j===null&&(j=new Position$1(ae+1,ae===z?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 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(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(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new ViewLayout(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(j)),this._eventDispatcher.emitOutgoingEvent(new ScrollChangedEvent(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(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.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new ViewTokensColorsChangedEvent)})),this._register(this._themeService.onDidColorThemeChange(j=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new ViewThemeChangedEvent(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$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(140),k=r.get(147),L=r.get(139),z=r.get(130);this._lines.setWrappingSettings(g,y,k.wrappingColumn,L,z)&&(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(92)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent(null))),t.hasChanged(99)&&(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 z=L.finalize(),V=new ArrayQueue(z);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=V.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=V.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 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),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=(y=r.viewportStartModelPosition)==null?void 0:y.lineNumber;L&&i.some(V=>V.startLineNumber<=L&&L<=V.endLineNumber)||r.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),g&&this._eventDispatcher.emitOutgoingEvent(new HiddenAreasChangedEvent)}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$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,z=t.endColumn;for(let V=0,j=i.length;VL||(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),z=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),V=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);i.accept(L,g.zIndex,z,V,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(V=>V.startLineNumber);let z="";for(let V=0;V0&&L[V-1]===L[V]||(z+=this.model.getLineContent(L[V])+r);return z}if(g&&t){const L=[];let z=0;for(const V of e){const j=V.startLineNumber;V.isEmpty()?j!==z&&L.push(this.model.getLineContent(j)):L.push(this.model.getValueInRange(V,i?2:0)),z=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 V=r.startLineNumber;r=new Range$2(V,this.model.getLineMinColumn(V),V,this.model.getLineMaxColumn(V))}const g=this._configuration.options.get(50),y=this._getColorMap(),L=/[:;\\\/<>]/.test(g.fontFamily)||g.fontFamily===EDITOR_FONT_DEFAULTS.fontFamily;let z;return L?z=EDITOR_FONT_DEFAULTS.fontFamily:(z=g.fontFamily,z=z.replace(/"/g,"'"),/[,']/.test(z)||/[+ ]/.test(z)&&(z="'".concat(z,"'")),z="".concat(z,", ").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 z=i;z<=g;z++){const V=this.model.tokenization.getLineTokens(z),j=V.getLineContent(),ie=z===i?r-1:0,oe=z===g?y-1:j.length;j===""?L+="
    ":L+=tokenizeLineToHTML(j,V.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){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)}};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],z=k[k.length-1];if(L===g&&z+1>=i){r>z&&(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$1S=function(n,e){return function(t,i){e(t,i,n)}},CodeEditorWidget_1,Cr;let CodeEditorWidget=(Cr=class extends Disposable{get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,r,g,y,k,L,z,V,j,ie){var le,de;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._updateCounter=0,this._onBeginUpdate=this._register(new Emitter$1),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new Emitter$1),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,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.SimpleEditorContext:MenuId.EditorContext,oe,V)),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=z,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=this._register(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 re;Array.isArray(i.contributions)?re=i.contributions:re=EditorExtensionsRegistry.getEditorContributions(),this._contributions.initialize(this,re,this._instantiationService);for(const ue of EditorExtensionsRegistry.getEditorActions()){if(this._actions.has(ue.id)){onUnexpectedError(new Error("Cannot have two actions with the same id ".concat(ue.id)));continue}const he=new InternalEditorAction(ue.id,ue.label,ue.alias,ue.metadata,(de=ue.precondition)!=null?de:void 0,pe=>this._instantiationService.invokeFunction(_e=>Promise.resolve(ue.runEditorCommand(_e,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(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(e,t,i,this._domElement,r)}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(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._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){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return CodeEditorWidget_1._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}setHiddenAreas(e,t){var i;(i=this._modelData)==null||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.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);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 z=k.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({clipboardEvent:y,range:new Range$2(L.lineNumber,L.column,z.lineNumber,z.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(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(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(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._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(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$1(this._id,this._configuration,e,DOMLineBreaksComputerFactory.create(getWindow$2(this._domElement)),MonospaceLineBreaksComputerFactory.create(this._configuration.options),k=>scheduleAtNextAnimationFrame(getWindow$2(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("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 z={text:g,pasteOnNewLine:y,multicursorText:k,mode:L};this._commandService.executeCommand("paste",z)},type:g=>{const y={text:g};this._commandService.executeCommand("type",y)},compositionType:(g,y,k,L)=>{if(k||L){const z={text:g,replacePrevCharCnt:y,replaceNextCharCnt:k,positionDelta:L};this._commandService.executeCommand("compositionType",z)}else{const z={text:g,replaceCharCnt:y};this._commandService.executeCommand("replacePreviousChar",z)}},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 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$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)}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}},CodeEditorWidget_1=Cr,Cr.dropIntoEditorDecorationOptions=ModelDecorationOptions.register({description:"workbench-dnd-target",className:"dnd-target"}),Cr);CodeEditorWidget=CodeEditorWidget_1=__decorate$1W([__param$1S(3,IInstantiationService),__param$1S(4,ICodeEditorService),__param$1S(5,ICommandService),__param$1S(6,IContextKeyService),__param$1S(7,IThemeService),__param$1S(8,INotificationService),__param$1S(9,IAccessibilityService),__param$1S(10,ILanguageConfigurationService),__param$1S(11,ILanguageFeaturesService)],CodeEditorWidget);let EDITOR_ID=0;class ModelData{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(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()))}}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:!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,"; }"))});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,1)}}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(;gV?(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(()=>{e.remove()})}function prependRemoveOnDispose(n,e){return n.prepend(e),toDisposable(()=>{e.remove()})}class ObservableElementSizeObserver extends Disposable{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(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){this._automaticLayout=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 z;t.add(autorunHandleChanges({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(j,ie)=>(j.didChange(e)&&(ie.animate=ie.animate||j.change),!0)},(j,ie)=>{z!==void 0&&(n.cancelAnimationFrame(z),z=void 0),r=g,i=e.read(j),k=Date.now()-(ie.animate?0:L),V()}));function V(){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)}}}const il=class il{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-".concat(il._counter++),this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}};il._counter=0;let ManagedOverlayWidget=il;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 applyViewZones(n,e,t,i){const r=new DisposableStore,g=[];return r.add(autorunWithStore((y,k)=>{const L=e.read(y),z=new Map,V=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),z.set(ie,oe)}}),t&&t(!1),k.add(autorunHandleChanges({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(j,ie){const oe=V.get(j.changedObservable);return oe!==void 0&&ie.zoneIds.push(oe),!0}},(j,ie)=>{for(const oe of L)oe.onChange&&(V.set(oe.onChange,z.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 filterWithPrevious(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;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$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 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."));var Ls;let AccessibleDiffViewer=(Ls=class extends Disposable{constructor(e,t,i,r,g,y,k,L,z){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=z,this._state=derivedWithStore(this,(V,j)=>{const ie=this._visible.read(V);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)})}},Ls._ttPolicy=createTrustedTypesPolicy("diffReview",{createHTML:e=>e}),Ls);AccessibleDiffViewer=__decorate$1V([__param$1R(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?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(z=>{const V=this._models.getModifiedPosition();if(V){const j=L.findIndex(ie=>(V==null?void 0:V.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 L;const k=this.currentElement.read(y);if(k&&k.type!==LineType.Header){const z=(L=k.modifiedLineNumber)!=null?L:k.diff.modified.startLineNumber;this._models.modifiedSetSelection(Range$2.fromPositions(new Position$1(z,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$1V([__param$1R(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,(V,j)=>{const ie=new LineRange$1(V?V.original.endLineNumberExclusive:y.startLineNumber,j?j.original.startLineNumber:y.endLineNumberExclusive),oe=new LineRange$1(V?V.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),z=r[0].original.join(r[r.length-1].original);i.push(new ViewElementGroup(new LineRangeMapping(L,z),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,z)=>{this._model.currentGroup.read(L),this._render(z)})),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(),z=i.get(67),V=this._model.currentGroup.get();for(const j of(V==null?void 0:V.lines)||[]){if(!V)break;let ie;if(j.type===LineType.Header){const re=document.createElement("div");re.className="diff-review-row",re.setAttribute("role","listitem");const ae=V.range,le=this._model.currentGroupIndex.get(),de=this._model.groups.get().length,ue=Ce=>Ce===0?localize("no_lines_changed","no lines changed"):Ce===1?localize("one_line_changed","1 line changed"):localize("more_lines_changed","{0} lines changed",Ce),he=ue(ae.original.length),pe=ue(ae.modified.length);re.setAttribute("aria-label",localize({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 _e=document.createElement("div");_e.className="diff-review-cell diff-review-summary",_e.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(_e),ie=re}else ie=this._createRow(j,z,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,z){const V=r.get(146),j=V.glyphMarginWidth+V.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.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 _e=document.createElement("span");_e.style.width=oe+"px",_e.style.minWidth=oe+"px",_e.style.paddingRight="10px",_e.className="diff-review-line-number"+ae,e.modifiedLineNumber!==void 0?_e.appendChild(document.createTextNode(String(e.modifiedLineNumber))):_e.innerText=" ",he.appendChild(_e);const Ce=document.createElement("span");if(Ce.className=le,de){const Ne=document.createElement("span");Ne.className=ThemeIcon.asClassName(de),Ne.innerText="  ",Ce.appendChild(Ne)}else Ce.innerText="  ";he.appendChild(Ce);let xe;if(e.modifiedLineNumber!==void 0){let Ne=this._getLineHtml(L,k,z.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({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{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),z=ViewLineRenderingData.isBasicASCII(y,e.mightContainNonBasicASCII()),V=ViewLineRenderingData.containsRTL(y,z,e.mightContainRTL());return renderViewLine2(new RenderLineInput(k.isMonospace&&!t.get(33),k.canUseHalfwidthRightwardsArrow,y,!1,z,V,0,L,[],i,0,k.spaceWidth,k.middotWidth,k.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==EditorFontLigatures.OFF,null)).html}};View=__decorate$1V([__param$1R(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}}registerColor("diffEditor.move.border","#8b8b8b9c",localize("diffEditor.move.border","The border color for text that got moved in the diff editor."));registerColor("diffEditor.moveActive.border","#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"});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)}},WorkerBasedDocumentDiffProvider_1;const IDiffProviderFactoryService=createDecorator("diffProviderFactoryService");let WorkerBasedDiffProviderFactoryService=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(WorkerBasedDocumentDiffProvider,e)}};WorkerBasedDiffProviderFactoryService=__decorate$1U([__param$1Q(0,IInstantiationService)],WorkerBasedDiffProviderFactoryService);registerSingleton(IDiffProviderFactoryService,WorkerBasedDiffProviderFactoryService,1);var yr;let WorkerBasedDocumentDiffProvider=(yr=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.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(new LineRange$1(1,2),new LineRange$1(1,t.getLineCount()+1),[new RangeMapping(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.diffCache.get(g);if(k&&k.context===y)return k.result;const L=StopWatch.create(),z=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),V=L.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:V,timedOut:(j=z==null?void 0:z.quitEarly)!=null?j:!0,detectedMoves:i.computeMoves?(ie=z==null?void 0:z.moves.length)!=null?ie:0:-1}),r.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!z)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(g,{result:z,context:y}),z}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=yr,yr.diffCache=new Map,yr);WorkerBasedDocumentDiffProvider=WorkerBasedDocumentDiffProvider_1=__decorate$1U([__param$1Q(1,IEditorWorkerService),__param$1Q(2,ITelemetryService)],WorkerBasedDocumentDiffProvider);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},i=[];for(const r of hotReloadHandlers){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}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 z of Object.getOwnPropertyNames(k.prototype)){const V=Object.getOwnPropertyDescriptor(k.prototype,z),j=Object.getOwnPropertyDescriptor(L.prototype,z);((r=V==null?void 0:V.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(z,"'")),Object.defineProperty(L.prototype,z,V)}i[y]=L}}}return!0}});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)}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 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,z;return this._options.hideUnchangedRegions.read(k)?(z=(L=this._unchangedRegions.read(k))==null?void 0:L.regions)!=null?z:[]:(transaction(V=>{var j;for(const ie of((j=this._unchangedRegions.get())==null?void 0:j.regions)||[])ie.collapseAll(V)}),[])}),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,z;return(z=(L=this.movedTextToCompare.read(k))!=null?L:this._hoveredMovedText.read(k))!=null?z: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)}),z=observableSignalFromEvent("onDidChange",L.onDidChange);return{diffProvider:L,onChangeSignal:z}}),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 z=L.originalDecorationIds.map(re=>e.original.getDecorationRange(re)).map(re=>re?LineRange$1.fromRangeInclusive(re):void 0),V=L.modifiedDecorationIds.map(re=>e.modified.getDecorationRange(re)).map(re=>re?LineRange$1.fromRangeInclusive(re):void 0),j=L.regions.map((re,ae)=>!z[ae]||!V[ae]?void 0:new UnchangedRegion(z[ae].startLineNumber,V[ae].startLineNumber,z[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,z)=>{const V=UnchangedRegion.fromDiffs(k.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(z),this._options.hideUnchangedRegionsContextLineCount.read(z));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,_e)=>{if(!le[_e]||!de[_e])return;const Ce=le[_e].length;return new UnchangedRegion(le[_e].startLineNumber,de[_e].startLineNumber,Ce,Math.min(pe.visibleLineCountTop.get(),Ce),Math.min(pe.visibleLineCountBottom.get(),Ce-pe.visibleLineCountTop.get()))}).filter(isDefined),(pe,_e)=>!_e||pe.modifiedLineNumber>=_e.modifiedLineNumber+_e.lineCount&&pe.originalLineNumber>=_e.originalLineNumber+_e.lineCount).map(pe=>new LineRangeMapping(pe.getHiddenOriginalRange(z),pe.getHiddenModifiedRange(z)));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 V){const de=j.filter(ue=>ue.original.intersectsStrict(le.originalUnchangedRange)&&ue.modified.intersectsStrict(le.modifiedUnchangedRange));oe.push(...le.setVisibleRanges(de,L))}else oe.push(...V);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 z=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 z=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 oe,re;this._options.hideUnchangedRegionsMinimumLineCount.read(k),this._options.hideUnchangedRegionsContextLineCount.read(k),g.cancel(),r.read(k);const z=this._diffProvider.read(k);z.onChangeSignal.read(k),readHotReloadableExport(DefaultLinesDiffComputer,k),readHotReloadableExport(optimizeSequenceDiffs,k),this._isDiffUpToDate.set(!1,void 0);let V=[];L.add(e.original.onDidChangeContent(ae=>{const le=TextEditInfo.fromModelContentChanges(ae.changes);V=combineTextEditInfos(V,le)}));let j=[];L.add(e.modified.onDidChangeContent(ae=>{const le=TextEditInfo.fromModelContentChanges(ae.changes);j=combineTextEditInfos(j,le)}));let ie=await z.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(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(ae=>{y(ie,ae),this._lastDiff=ie;const le=DiffState.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(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$1.deserialize(g.range)),i=this._unchangedRegions.get();!i||!t||transaction(g=>{for(const y of i.regions)for(const k of t)if(y.modifiedUnchangedRange.intersect(k)){y.setHiddenModifiedRange(k,g);break}})}};DiffEditorViewModel=__decorate$1T([__param$1P(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.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(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 z=L.original.startLineNumber,V=L.modified.startLineNumber,j=L.original.length;const ie=z===1&&V===1,oe=z+j===t+1&&V+j===i+1;(ie||oe)&&j>=g+r?(ie&&!oe&&(j-=g),oe&&!ie&&(z+=g,V+=g,j-=g),k.push(new UnchangedRegion(z,V,j,0,0))):j>=g*2+r&&(z+=g,V+=g,j-=g*2,k.push(new UnchangedRegion(z,V,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 z of r.ranges){const V=L===r.ranges.length-1;L++;const j=(V?k:z.endLineNumberExclusive)-y,ie=new UnchangedRegion(g,y,j,0,0);ie.setHiddenModifiedRange(z,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,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(92)||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(V/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,V),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,V),oe(re.event.posx,re.event.posy+V))}))}_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 z=0;zn});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(),z=ViewLineRenderingData.isBasicASCII(L,r),V=ViewLineRenderingData.containsRTL(L,z,g),j=renderViewLine(new RenderLineInput(y.fontInfo.isMonospace&&!y.disableMonospaceOptimizations,y.fontInfo.canUseHalfwidthRightwardsArrow,L,!1,z,V,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$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 DiffEditorViewZones=class extends Disposable{constructor(e,t,i,r,g,y,k,L,z,V){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=z,this._contextMenuService=V,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(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(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(he=>{const pe=this._diffModel.read(he),_e=pe==null?void 0:pe.diff.read(he);if(!pe||!_e)return null;j.read(he);const xe=this._options.renderSideBySide.read(he);return computeRangeAlignment(this._editors.original,this._editors.modified,_e.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,xe)}),ae=derived(he=>{var Ce;const pe=(Ce=this._diffModel.read(he))==null?void 0:Ce.movedTextToCompare.read(he);if(!pe)return null;j.read(he);const _e=pe.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 Dt,jt,ei,ti,hi,ui,mi,pi;de.clear();const _e=re.read(he)||[],Ce=[],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&&Ce.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:Ne,showInHiddenAreas:!0,suppressMouseDown:!0});const $e=this._options.renderSideBySide.read(he),Oe=$e||(Dt=this._editors.modified._getViewModel())==null?void 0:Dt.createLineBreaksComputer();if(Oe){const ri=this._editors.original.getModel();for(const oi of _e)if(oi.diff)for(let bi=oi.originalRange.startLineNumber;biri.getLineCount())return{orig:Ce,mod:xe};Oe==null||Oe.addRequest(ri.getLineContent(bi),null,null)}}const Fe=(jt=Oe==null?void 0:Oe.finalize())!=null?jt:[];let Et=0;const ze=this._editors.modified.getOption(67),qe=(ei=this._diffModel.read(he))==null?void 0:ei.movedTextToCompare.read(he),Ve=(hi=(ti=this._editors.original.getModel())==null?void 0:ti.mightContainNonBasicASCII())!=null?hi:!1,kt=(mi=(ui=this._editors.original.getModel())==null?void 0:ui.mightContainRTL())!=null?mi:!1,Ue=RenderOptions.fromEditor(this._editors.modified);for(const ri of _e)if(ri.diff&&!$e&&(!this._options.useTrueInlineDiffRendering.read(he)||!allowsTrueInlineDiffRendering(ri.diff))){if(!ri.originalRange.isEmpty){oe.read(he);const bi=document.createElement("div");bi.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const Ti=this._editors.original.getModel();if(ri.originalRange.endLineNumberExclusive-1>Ti.getLineCount())return{orig:Ce,mod:xe};const Si=new LineSource(ri.originalRange.mapToLineArray(Pt=>Ti.tokenization.getLineTokens(Pt)),ri.originalRange.mapToLineArray(Pt=>Fe[Et++]),Ve,kt),ni=[];for(const Pt of ri.diff.innerChanges||[])ni.push(new InlineDecoration(Pt.originalRange.delta(-(ri.diff.original.startLineNumber-1)),diffDeleteDecoration.className,0));const fi=renderLines$1(Si,Ue,ni,bi),si=document.createElement("div");if(si.className="inline-deleted-margin-view-zone",applyFontInfo(si,Ue.fontInfo),this._options.renderIndicators.read(he))for(let Pt=0;PtassertIsDefined(_i),si,this._editors.modified,ri.diff,this._diffEditorWidget,fi.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let Pt=0;Pt1&&Ce.push({afterLineNumber:ri.originalRange.startLineNumber+Pt,domNode:le(),heightInPx:(Lt-1)*ze,showInHiddenAreas:!0,suppressMouseDown:!0})}xe.push({afterLineNumber:ri.modifiedRange.startLineNumber-1,domNode:bi,heightInPx:fi.heightInLines*ze,minWidthInPx:fi.minWidthInPx,marginDomNode:si,setZoneId(Pt){_i=Pt},showInHiddenAreas:!0,suppressMouseDown:!0})}const oi=document.createElement("div");oi.className="gutter-delete",Ce.push({afterLineNumber:ri.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:ri.modifiedHeightInPx,marginDomNode:oi,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const oi=ri.modifiedHeightInPx-ri.originalHeightInPx;if(oi>0){if(qe!=null&&qe.lineRangeMapping.original.delta(-1).deltaLength(2).contains(ri.originalRange.endLineNumberExclusive-1))continue;Ce.push({afterLineNumber:ri.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:oi,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let bi=function(){const Si=document.createElement("div");return Si.className="arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight),pe.add(addDisposableListener(Si,"mousedown",ni=>ni.stopPropagation())),pe.add(addDisposableListener(Si,"click",ni=>{ni.stopPropagation(),g.revert(ri.diff)})),$$f("div",{},Si)};if(qe!=null&&qe.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(ri.modifiedRange.endLineNumberExclusive-1))continue;let Ti;ri.diff&&ri.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(he)&&(Ti=bi()),xe.push({afterLineNumber:ri.modifiedRange.endLineNumberExclusive-1,domNode:le(),heightInPx:-oi,marginDomNode:Ti,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const ri of(pi=ae.read(he))!=null?pi:[]){if(!(qe!=null&&qe.lineRangeMapping.original.intersect(ri.originalRange))||!(qe!=null&&qe.lineRangeMapping.modified.intersect(ri.modifiedRange)))continue;const oi=ri.modifiedHeightInPx-ri.originalHeightInPx;oi>0?Ce.push({afterLineNumber:ri.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:oi,showInHiddenAreas:!0,suppressMouseDown:!0}):xe.push({afterLineNumber:ri.modifiedRange.endLineNumberExclusive-1,domNode:le(),heightInPx:-oi,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:Ce,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(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 Ce;const pe=(Ce=this._diffModel.read(he))==null?void 0:Ce.movedTextToCompare.read(he);let _e=0;if(pe){const xe=this._editors.original.getTopForLineNumber(pe.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();_e=this._editors.modified.getTopForLineNumber(pe.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$1S([__param$1O(8,IClipboardService),__param$1O(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),z=e.getOption(67),V=[];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()),V.push({originalRange:LineRange$1.ofLength(le.lineNumber,1),modifiedRange:LineRange$1.ofLength(de.lineNumber,1),originalHeightInPx:L+le.heightInPx,modifiedHeightInPx:z+de.heightInPx,diff:void 0})}}for(const re of t){let he=function(pe,_e,Ce=!1){var Oe,Fe,Et,ze;if(peqe.lineNumberqe+Ve.heightInPx,0))!=null?Fe:0,$e=(ze=(Et=k.takeWhile(qe=>qe.lineNumber<_e))==null?void 0:Et.reduce((qe,Ve)=>qe+Ve.heightInPx,0))!=null?ze:0;V.push({originalRange:xe,modifiedRange:Ie,originalHeightInPx:xe.length*L+Ne,modifiedHeightInPx:Ie.length*z+$e,diff:re.lineRangeMapping}),ue=pe,de=_e};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 _e=n.getModel(),Ce=pe.originalRange.endLineNumber<=_e.getLineCount()?_e.getLineMaxColumn(pe.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;pe.originalRange.endColumn1&&i.push({lineNumber:L,heightInPx:y*(z-1)})}for(const L of n.getWhitespaces()){if(e.has(L.id))continue;const z=L.afterLineNumber===0?0:g.convertViewPositionToModelPosition(new Position$1(L.afterLineNumber,1)).lineNumber;t.push({lineNumber:z,heightInPx:L.height})}return joinCombine(t,i,L=>L.lineNumber,(L,z)=>({lineNumber:L.lineNumber,heightInPx:L.heightInPx+z.heightInPx}))}function allowsTrueInlineDiffRendering(n){return n.innerChanges?n.innerChanges.every(e=>rangeIsSingleLine(e.modifiedRange)&&rangeIsSingleLine(e.originalRange)||e.originalRange.equalsRange(new Range$2(1,1,1,1))):!1}function rangeIsSingleLine(n){return n.startLineNumber===n.endLineNumber}const ta=class ta 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,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent(this,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,(V,j)=>{var xe;this._element.replaceChildren();const ie=this._diffModel.read(V),oe=(xe=ie==null?void 0:ie.diff.read(V))==null?void 0:xe.movedTexts;if(!oe||oe.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(V);const re=this._originalEditorLayoutInfo.read(V),ae=this._modifiedEditorLayoutInfo.read(V);if(!re||!ae){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(V),this._originalViewZonesChangedSignal.read(V);const le=oe.map(Ie=>{function Ne(Ue,Dt){const jt=Dt.getTopForLineNumber(Ue.startLineNumber,!0),ei=Dt.getTopForLineNumber(Ue.endLineNumberExclusive,!0);return(jt+ei)/2}const $e=Ne(Ie.lineRangeMapping.original,this._editors.original),Oe=this._originalScrollTop.read(V),Fe=Ne(Ie.lineRangeMapping.modified,this._editors.modified),Et=this._modifiedScrollTop.read(V),ze=$e-Oe,qe=Fe-Et,Ve=Math.min($e,Fe),kt=Math.max($e,Fe);return{range:new OffsetRange(Ve,kt),from:ze,to:qe,fromWithoutScroll:$e,toWithoutScroll:Fe,move:Ie}});le.sort(tieBreakComparators(compareBy(Ie=>Ie.fromWithoutScroll>Ie.toWithoutScroll,booleanComparator),compareBy(Ie=>Ie.fromWithoutScroll>Ie.toWithoutScroll?Ie.fromWithoutScroll:-Ie.toWithoutScroll,numberComparator)));const de=LinesLayout.compute(le.map(Ie=>Ie.range)),ue=10,he=re.verticalScrollbarWidth,pe=(de.getTrackCount()-1)*10+ue*2,_e=he+pe+(ae.contentLeft-ta.movedCodeBlockPadding);let Ce=0;for(const Ie of le){const Ne=de.getTrack(Ce),$e=he+ue+Ne*10,Oe=15,Fe=15,Et=_e,ze=ae.glyphMarginWidth+ae.lineNumbersWidth,qe=18,Ve=document.createElementNS("http://www.w3.org/2000/svg","rect");Ve.classList.add("arrow-rectangle"),Ve.setAttribute("x","".concat(Et-ze)),Ve.setAttribute("y","".concat(Ie.to-qe/2)),Ve.setAttribute("width","".concat(ze)),Ve.setAttribute("height","".concat(qe)),this._element.appendChild(Ve);const kt=document.createElementNS("http://www.w3.org/2000/svg","g"),Ue=document.createElementNS("http://www.w3.org/2000/svg","path");Ue.setAttribute("d","M 0 ".concat(Ie.from," L ").concat($e," ").concat(Ie.from," L ").concat($e," ").concat(Ie.to," L ").concat(Et-Fe," ").concat(Ie.to)),Ue.setAttribute("fill","none"),kt.appendChild(Ue);const Dt=document.createElementNS("http://www.w3.org/2000/svg","polygon");Dt.classList.add("arrow"),j.add(autorun(jt=>{Ue.classList.toggle("currentMove",Ie.move===ie.activeMovedText.read(jt)),Dt.classList.toggle("currentMove",Ie.move===ie.activeMovedText.read(jt))})),Dt.setAttribute("points","".concat(Et-Fe,",").concat(Ie.to-Oe/2," ").concat(Et,",").concat(Ie.to," ").concat(Et-Fe,",").concat(Ie.to+Oe/2)),kt.appendChild(Dt),this._element.appendChild(kt),Ce++}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(()=>this._element.remove())),this._register(autorun(V=>{const j=this._originalEditorLayoutInfo.read(V),ie=this._modifiedEditorLayoutInfo.read(V);!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-ta.movedCodeBlockPadding+this.width.read(V),"px"))})),this._register(recomputeInitiallyAndOnChange(this._state));const y=derived(V=>{const j=this._diffModel.read(V),ie=j==null?void 0:j.diff.read(V);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(V=>V.map(j=>j.original)))),this._register(applyViewZones(this._editors.modified,y.map(V=>V.map(j=>j.modified)))),this._register(autorunWithStore((V,j)=>{const ie=y.read(V);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",V=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>V(void 0),0))),L=observableSignalFromEvent("modified.onDidFocusEditorWidget",V=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>V(void 0),0)));let z="modified";this._register(autorunHandleChanges({createEmptyChangeSummary:()=>{},handleChange:(V,j)=>(V.didChange(k)&&(z="original"),V.didChange(L)&&(z="modified"),!0)},V=>{k.read(V),L.read(V);const j=this._diffModel.read(V);if(!j)return;const ie=j.diff.read(V);let oe;if(ie&&z==="original"){const re=this._editors.originalCursor.read(V);re&&(oe=ie.movedTexts.find(ae=>ae.lineRangeMapping.original.contains(re.lineNumber)))}if(ie&&z==="modified"){const re=this._editors.modifiedCursor.read(V);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)}))}};ta.movedCodeBlockPadding=4;let MovedBlocksLinesFeature=ta;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=findMaxIdx(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$1("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$1("div.diff-moved-code-block",{style:{marginRight:"4px"}},[h$1("div.text-content@textContent"),h$1("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 z=this._register(new ActionBar(this._nodes.actionBar,{highlightToggledItems:!0})),V=new Action("",L,"",!1);z.push(V,{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})),z.push(j,{icon:!1,label:!0})}}class DiffEditorDecorations extends Disposable{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=derived(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),z=this._options.renderIndicators.read(g),V=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:z?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground}),re.lineRangeMapping.modified.isEmpty||ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:z?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{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()&&V?diffDeleteDecorationEmpty:diffDeleteDecoration}),re.lineRangeMapping.modified.contains(le.modifiedRange.startLineNumber)&&ie.push({range:le.modifiedRange,options:le.modifiedRange.isEmpty()&&V&&!ae?diffAddDecorationEmpty:diffAddDecoration}),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:z?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground});const le=re.modified.toInclusiveRange();le&&ie.push({range:le,options:z?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 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(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}}class DiffEditorSash extends Disposable{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(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(k=>{const L=this._boundarySashes.read(k);L&&(this._sash.orthogonalEndSash=L.bottom)})),this._register(autorun(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()}))}}class EditorGutter extends Disposable{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=observableFromEvent(this,this._editor.onDidScrollChange,y=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(y=>y===0),this.modelAttached=observableFromEvent(this,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$1("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(z=>{for(const V of L){if(!V.range.intersect(k))continue;r.delete(V.id);let j=this.views.get(V.id);if(j)j.item.set(V,z);else{const ae=document.createElement("div");this._domNode.appendChild(ae);const le=observableValue("item",V),de=this.itemProvider.createView(le,ae);j=new ManagedGutterItemView(le,de,ae),this.views.set(V.id,j)}const ie=V.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(V.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(V.range.startLineNumber-1,!1)-t,re=(V.range.endLineNumberExclusive===1?Math.max(ie,this._editor.getTopForLineNumber(V.range.startLineNumber,!1)-t):Math.max(ie,this._editor.getBottomForLineNumber(V.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(),k.domNode.remove(),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 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:this._register(createInstantHoverDelegate()),this.options=i,this.toggleMenuAction=this._register(new ToggleMenuAction(()=>{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(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: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=>{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()}}const nl=class nl extends Action{constructor(e,t){t=t||localize("moreActions","More Actions..."),super(nl.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}};nl.ID="toolbar.toggle.more";let ToggleMenuAction=nl;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 WorkbenchToolBar=class extends ToolBar{constructor(e,t,i,r,g,y,k,L){super(e,g,{getKeyBinding:V=>{var j;return(j=y.lookupKeybinding(V.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);const z=t==null?void 0:t.telemetrySource;z&&this._store.add(this.actionBar.onDidRun(V=>L.publicLog2("workbenchActionExecuted",{id:V.action.id,from:z})))}setActions(e,t=[],i){var V,j,ie;this._sessionDisposables.clear();const r=e.slice(),g=t.slice(),y=[];let k=0;const L=[];let z=!1;if(((V=this._options)==null?void 0:V.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(r),coalesceInPlace(L),super.setActions(r,Separator.join(L,g)),(y.length>0||r.length>0)&&this._sessionDisposables.add(addDisposableListener(this.getElement(),"contextmenu",oe=>{var ue,he,pe,_e,Ce;const re=new StandardMouseEvent(getWindow$2(this.getElement()),oe),ae=this.getItemAction(re.target);if(!ae)return;re.preventDefault(),re.stopPropagation();const le=[];if(ae instanceof MenuItemAction&&ae.menuKeybinding)le.push(ae.menuKeybinding);else if(!(ae instanceof SubmenuItemAction||ae instanceof ToggleMenuAction)){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,...(_e=this._options)==null?void 0:_e.menuOptions},skipTelemetry:typeof((Ce=this._options)==null?void 0:Ce.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};WorkbenchToolBar=__decorate$1R([__param$1N(2,IMenuService),__param$1N(3,IContextKeyService),__param$1N(4,IContextMenuService),__param$1N(5,IKeybindingService),__param$1N(6,ICommandService),__param$1N(7,ITelemetryService)],WorkbenchToolBar);let MenuWorkbenchToolBar=class extends WorkbenchToolBar{constructor(e,t,i,r,g,y,k,L,z){super(e,{resetMenu:t,...i},r,g,y,k,L,z),this._onDidChangeMenuItems=this._store.add(new Emitter$1),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const V=this._store.add(r.createMenu(t,g,{emitEventsForSubmenuChanges:!0})),j=()=>{var re,ae,le;const ie=[],oe=[];createAndFillInActionBarActions(V,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(V.onDidChange(()=>{j(),this._onDidChangeMenuItems.fire(this)})),j()}setActions(){throw new BugIndicatingError("This toolbar is populated from a menu.")}};MenuWorkbenchToolBar=__decorate$1R([__param$1N(3,IMenuService),__param$1N(4,IContextKeyService),__param$1N(5,IContextMenuService),__param$1N(6,IKeybindingService),__param$1N(7,ICommandService),__param$1N(8,ITelemetryService)],MenuWorkbenchToolBar);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)}};const emptyArr$1=[],width=35;let DiffEditorGutter=class extends Disposable{constructor(e,t,i,r,g,y,k,L,z){super(),this._diffModel=t,this._editors=i,this._options=r,this._sashLayout=g,this._boundarySashes=y,this._instantiationService=k,this._contextKeyService=L,this._menuService=z,this._menu=this._register(this._menuService.createMenu(MenuId.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=observableFromEvent(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(V=>V.length>0),this._showSash=derived(this,V=>this._options.renderSideBySide.read(V)&&this._hasActions.read(V)),this.width=derived(this,V=>this._hasActions.read(V)?width:0),this.elements=h$1("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:width+"px"}},[]),this._currentDiff=derived(this,V=>{var re;const j=this._diffModel.read(V);if(!j)return;const ie=(re=j.diff.read(V))==null?void 0:re.mappings,oe=this._editors.modifiedCursor.read(V);if(oe)return ie==null?void 0:ie.find(ae=>ae.lineRangeMapping.modified.contains(oe.lineNumber))}),this._selectedDiffs=derived(this,V=>{const j=this._diffModel.read(V),ie=j==null?void 0:j.diff.read(V);if(!ie)return emptyArr$1;const oe=this._editors.modifiedSelections.read(V);if(oe.every(de=>de.isEmpty()))return emptyArr$1;const re=new LineRangeSet(oe.map(de=>LineRange$1.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$2.areIntersecting(ue.modifiedRange,he)))}));return le.length===0||le.every(de=>de.rangeMappings.length===0)?emptyArr$1:le}),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(V=>V?"block":"none")})),derivedDisposable(this,V=>this._showSash.read(V)?new DiffEditorSash(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,derivedWithSetter(this,ie=>this._sashLayout.sashLeft.read(ie)-width,(ie,oe)=>this._sashLayout.sashLeft.set(ie+width,oe)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new EditorGutter(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(V,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.fromRangeMappings(re.flatMap(de=>de.rangeMappings));return[new DiffGutterItem(le,!0,MenuId.DiffEditorSelectionToolbar,void 0,ie.model.original.uri,ie.model.modified.uri)]}const ae=this._currentDiff.read(j);return oe.mappings.map(le=>new DiffGutterItem(le.lineRangeMapping.withInnerChangesFromLineRanges(),le.lineRangeMapping===(ae==null?void 0:ae.lineRangeMapping),MenuId.DiffEditorHunkToolbar,void 0,ie.model.original.uri,ie.model.modified.uri))},createView:(V,j)=>this._instantiationService.createInstance(DiffToolBar,V,j,this)})),this._register(addDisposableListener(this.elements.gutter,EventType$1.MOUSE_WHEEL,V=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(V)},{passive:!1}))}computeStagedValue(e){var k;const t=(k=e.innerChanges)!=null?k:[],i=new TextModelText(this._editors.modifiedModel.get()),r=new TextModelText(this._editors.original.getModel());return new TextEdit(t.map(L=>L.toTextEdit(i))).apply(r)}layout(e){this.elements.gutter.style.left=e+"px"}};DiffEditorGutter=__decorate$1Q([__param$1M(6,IInstantiationService),__param$1M(7,IContextKeyService),__param$1M(8,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:this.mapping.modified}}let DiffToolBar=class extends Disposable{constructor(e,t,i,r){super(),this._item=e,this._elements=h$1("div.gutterItem",{style:{height:"20px",width:"34px"}},[h$1("div.background@background",{},[]),h$1("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:z=>z.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(y)?1:3},hiddenItemStrategy:0,actionRunner:new ActionRunnerWithContext(()=>{const z=this._item.get(),V=z.mapping;return{mapping:V,originalWithModifiedChanges:i.computeStagedValue(V),originalUri:z.originalUri,modifiedUri:z.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.tryCreate(g,t.endExclusive-g-i),L=OffsetRange.tryCreate(e.start+g,e.endExclusive-i-g);L&&k&&L.start{const r=Mo._map.get(e);r&&(Mo._map.delete(e),r.dispose(),i.dispose())})}return t}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new TransactionImpl(()=>{}))}_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(this,this.editor.getModel()),this.model=this._model,this.isReadonly=observableFromEvent(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$1.selectionsEqual)),lazy:!0},(r=this.editor.getSelections())!=null?r:null),this.selections=this._selections,this.isFocused=observableFromEvent(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(this,g=>{var y;return this.versionId.read(g),((y=this.editor.getModel())==null?void 0:y.getValueLength())===0}),this.cursorSelection=derivedOpts({owner:this,equalsFn:equalsIfDefined(Selection$1.selectionsEqual)},g=>{var y,k;return(k=(y=this.selections.read(g))==null?void 0:y[0])!=null?k:null}),this.onDidType=observableSignal(this),this.scrollTop=observableFromEvent(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=observableFromEvent(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=observableFromEvent(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(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(this,t=>this.editor.onDidChangeConfiguration(i=>{i.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){const t=new DisposableStore,i=this.editor.createDecorationsCollection();return t.add(autorunOpts({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(g=>{e.position.read(g),e.minContentWidthInPx.read(g),this.editor.layoutOverlayWidget(i)});return toDisposable(()=>{r.dispose(),this.editor.removeOverlayWidget(i)})}};Mo._map=new Map;let ObservableCodeEditor=Mo;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,i=reactToChange(n,(r,g)=>{t.clear(),e(r,g,t)});return{dispose(){i.dispose(),t.dispose()}}}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)}},HideUnchangedRegionsFeature_1,Sr;let HideUnchangedRegionsFeature=(Sr=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 z=this._editors.modifiedModel.read(L),V=HideUnchangedRegionsFeature_1._breadcrumbsSourceFactory.read(L);return!z||!V?void 0:V(z,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(L=>{if(L.reason===1)return;const z=this._diffModel.get();transaction(V=>{for(const j of this._editors.original.getSelections()||[])z==null||z.ensureOriginalLineIsVisible(j.getStartPosition().lineNumber,0,V),z==null||z.ensureOriginalLineIsVisible(j.getEndPosition().lineNumber,0,V)})})),this._register(this._editors.modified.onDidChangeCursorPosition(L=>{if(L.reason===1)return;const z=this._diffModel.get();transaction(V=>{for(const j of this._editors.modified.getSelections()||[])z==null||z.ensureModifiedLineIsVisible(j.getStartPosition().lineNumber,0,V),z==null||z.ensureModifiedLineIsVisible(j.getEndPosition().lineNumber,0,V)})}));const g=this._diffModel.map((L,z)=>{var j,ie;const V=(j=L==null?void 0:L.unchangedRegions.read(z))!=null?j:[];return V.length===1&&V[0].modifiedLineNumber===1&&V[0].lineCount===((ie=this._editors.modifiedModel.read(z))==null?void 0:ie.getLineCount())?[]:V});this.viewZones=derivedWithStore(this,(L,z)=>{const V=this._modifiedOutlineSource.read(L);if(!V)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(ue,12);j.push(he),z.add(new CompactCollapsedCodeOverlayWidget(this._editors.original,he,de,!oe))}{const ue=derived(this,pe=>de.getHiddenModifiedRange(pe).startLineNumber-1),he=new PlaceholderViewZone(ue,12);ie.push(he),z.add(new CompactCollapsedCodeOverlayWidget(this._editors.modified,he,de))}}else{{const ue=derived(this,pe=>de.getHiddenOriginalRange(pe).startLineNumber-1),he=new PlaceholderViewZone(ue,24);j.push(he),z.add(new CollapsedCodeOverlayWidget(this._editors.original,he,de,de.originalUnchangedRange,!oe,V,pe=>this._diffModel.get().ensureModifiedLineIsVisible(pe,2,void 0),this._options))}{const ue=derived(this,pe=>de.getHiddenModifiedRange(pe).startLineNumber-1),he=new PlaceholderViewZone(ue,24);ie.push(he),z.add(new CollapsedCodeOverlayWidget(this._editors.modified,he,de,de.modifiedUnchangedRange,!1,V,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(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 z=g.read(L),V=z.map(j=>({range:j.originalUnchangedRange.toInclusiveRange(),options:y}));for(const j of z)j.shouldHideControls(L)&&V.push({range:Range$2.fromPositions(new Position$1(j.originalLineNumber,1)),options:k});return V}))),this._register(applyObservableDecorations$1(this._editors.modified,derived(this,L=>{const z=g.read(L),V=z.map(j=>({range:j.modifiedUnchangedRange.toInclusiveRange(),options:y}));for(const j of z)j.shouldHideControls(L)&&V.push({range:LineRange$1.ofLength(j.modifiedLineNumber,1).toInclusiveRange(),options:k});return V}))),this._register(autorun(L=>{const z=g.read(L);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(z.map(V=>V.getHiddenOriginalRange(L).toInclusiveRange()).filter(isDefined)),this._editors.modified.setHiddenAreas(z.map(V=>V.getHiddenModifiedRange(L).toInclusiveRange()).filter(isDefined))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(L=>{var z;if(!L.event.rightButton&&L.target.position&&((z=L.target.element)!=null&&z.className.includes("fold-unchanged"))){const V=L.target.position.lineNumber,j=this._diffModel.get();if(!j)return;const ie=j.unchangedRegions.get().find(oe=>oe.modifiedUnchangedRange.includes(V));if(!ie)return;ie.collapseAll(void 0),L.event.stopPropagation(),L.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(L=>{var z;if(!L.event.rightButton&&L.target.position&&((z=L.target.element)!=null&&z.className.includes("fold-unchanged"))){const V=L.target.position.lineNumber,j=this._diffModel.get();if(!j)return;const ie=j.unchangedRegions.get().find(oe=>oe.originalUnchangedRange.includes(V));if(!ie)return;ie.collapseAll(void 0),L.event.stopPropagation(),L.event.preventDefault()}}))}},HideUnchangedRegionsFeature_1=Sr,Sr._breadcrumbsSourceFactory=observableValue(HideUnchangedRegionsFeature_1,()=>({dispose(){},getBreadcrumbItems(e,t){return[]}})),Sr);HideUnchangedRegionsFeature=HideUnchangedRegionsFeature_1=__decorate$1P([__param$1L(3,IInstantiationService)],HideUnchangedRegionsFeature);class CompactCollapsedCodeOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,r=!1){const g=h$1("div.diff-hidden-lines-widget");super(e,t,g.root),this._unchangedRegion=i,this._hide=r,this._nodes=h$1("div.diff-hidden-lines-compact",[h$1("div.line-left",[]),h$1("div.text@text",[]),h$1("div.line-right",[])]),g.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(autorun(y=>{if(!this._hide){const k=this._unchangedRegion.getHiddenModifiedRange(y).length,L=localize("hiddenLines","{0} hidden lines",k);this._nodes.text.innerText=L}}))}}class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,r,g,y,k,L){const z=h$1("div.diff-hidden-lines-widget");super(e,t,z.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$1("div.diff-hidden-lines",[h$1("div.top@top",{title:localize("diff.hiddenLines.top","Click or drag to show more above")}),h$1("div.center@content",{style:{display:"flex"}},[h$1("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$1("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),h$1("div.bottom@bottom",{title:localize("diff.bottom","Click or drag to show more below"),role:"button"})]),z.root.appendChild(this._nodes.root),this._hide?reset(this._nodes.first):this._register(applyStyle(this._nodes.first,{width:observableCodeEditor(this._editor).layoutInfoContentLeft})),this._register(autorun(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 V=this._editor;this._register(addDisposableListener(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$2(this._nodes.top),le=addDisposableListener(ae,"mousemove",ue=>{const pe=ue.clientY-ie;oe=oe||Math.abs(pe)>2;const _e=Math.round(pe/V.getOption(67)),Ce=Math.max(0,Math.min(re+_e,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(Ce,void 0)}),de=addDisposableListener(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(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$2(this._nodes.bottom),le=addDisposableListener(ae,"mousemove",ue=>{const pe=ue.clientY-ie;oe=oe||Math.abs(pe)>2;const _e=Math.round(pe/V.getOption(67)),Ce=Math.max(0,Math.min(re-_e,this._unchangedRegion.getMaxVisibleLineCountBottom())),xe=this._unchangedRegionRange.endLineNumberExclusive>V.getModel().getLineCount()?V.getContentHeight():V.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(Ce,void 0);const Ie=this._unchangedRegionRange.endLineNumberExclusive>V.getModel().getLineCount()?V.getContentHeight():V.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);V.setScrollTop(V.getScrollTop()+(Ie-xe))}),de=addDisposableListener(ae,"mouseup",ue=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!oe){const he=V.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const pe=V.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);V.setScrollTop(V.getScrollTop()+(pe-he))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),le.dispose(),de.dispose()})})),this._register(autorun(j=>{const ie=[];if(!this._hide){const oe=i.getHiddenModifiedRange(j).length,re=localize("hiddenLines","{0} hidden lines",oe),ae=$$f("span",{title:localize("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($$f("span",void 0,"  |  "));for(let ue=0;ue{this._revealModifiedHiddenLine(he.startLineNumber)}}}}reset(this._nodes.others,...ie)}))}}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)}},OverviewRulerFeature_1,Do;let OverviewRulerFeature=(Do=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()),z=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}}),V=createFastDomNode(document.createElement("div"));V.setClassName("diffViewport"),V.setPosition("absolute");const j=h$1("div.diffOverview",{style:{position:"absolute",top:"0px",width:OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(appendRemoveOnDispose(j,V.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(_e=>{var Oe;de.read(_e),ue.read(_e),he.read(_e),pe.read(_e);const Ce=z.read(_e),xe=(Oe=re==null?void 0:re.diff.read(_e))==null?void 0:Oe.mappings;function Ie(Fe,Et,ze){const qe=ze._getViewModel();return qe?Fe.filter(Ve=>Ve.length>0).map(Ve=>{const kt=qe.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(Ve.startLineNumber,1)),Ue=qe.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(Ve.endLineNumberExclusive,1)),Dt=Ue.lineNumber-kt.lineNumber;return new OverviewRulerZone(kt.lineNumber,Ue.lineNumber,Dt,Et.toString())}):[]}const Ne=Ie((xe||[]).map(Fe=>Fe.lineRangeMapping.original),Ce.removeColor,this._editors.original),$e=Ie((xe||[]).map(Fe=>Fe.lineRangeMapping.modified),Ce.insertColor,this._editors.modified);ae==null||ae.setZones(Ne),le==null||le.setZones($e)})),oe.add(autorun(_e=>{const Ce=this._rootHeight.read(_e),xe=this._rootWidth.read(_e),Ie=this._modifiedEditorLayoutInfo.read(_e);if(Ie){const Ne=OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH;ae.setLayout({top:0,height:Ce,right:Ne+OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH,width:OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH}),le.setLayout({top:0,height:Ce,right:0,width:OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH});const $e=this._editors.modifiedScrollTop.read(_e),Oe=this._editors.modifiedScrollHeight.read(_e),Fe=this._editors.modified.getOption(104),Et=new ScrollbarState(Fe.verticalHasArrows?Fe.arrowSize:0,Fe.verticalScrollbarSize,0,Ie.height,Oe,$e);V.setTop(Et.getSliderPosition()),V.setHeight(Et.getSliderSize())}else V.setTop(0),V.setHeight(0);j.style.height=Ce+"px",j.style.left=xe-OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",V.setWidth(OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}},OverviewRulerFeature_1=Do,Do.ONE_OVERVIEW_WIDTH=15,Do.ENTIRE_DIFF_OVERVIEW_WIDTH=Do.ONE_OVERVIEW_WIDTH*2,Do);OverviewRulerFeature=OverviewRulerFeature_1=__decorate$1O([__param$1K(6,IThemeService)],OverviewRulerFeature);const emptyArr=[];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;const L=this._editors.modifiedSelections.read(g);if(L.every(ie=>ie.isEmpty()))return emptyArr;const z=new LineRangeSet(L.map(ie=>LineRange$1.fromRangeInclusive(ie))),j=k.mappings.filter(ie=>ie.lineRangeMapping.innerChanges&&z.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: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 z=[],V=this._selectedDiffs.read(g),j=new Set(V.map(ie=>ie.mapping));if(V.length>0){const ie=this._editors.modifiedSelections.read(g),oe=y.add(new RevertButton(ie[ie.length-1].positionLineNumber,this._widget,V.flatMap(re=>re.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(oe),z.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),z.push(oe)}y.add(toDisposable(()=>{for(const ie of z)this._editors.modified.removeGlyphMarginWidget(ie)}))}))}}const ol=class ol 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(ol.counter++),this._domNode=h$1("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}}};ol.counter=0;let RevertButton=ol;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(n,e,t){const i=n.bindTo(e);return autorunOpts({debugName:()=>'Set Context Key "'.concat(n.key,'"')},r=>{i.set(t(r))})}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)}};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,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=observableFromEvent(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(this,this.modified.onDidChangeCursorSelection,()=>{var L;return(L=this.modified.getSelections())!=null?L:[]}),this.modifiedCursor=derivedOpts({owner:this,equalsFn:Position$1.equals},L=>{var z,V;return(V=(z=this.modifiedSelections.read(L)[0])==null?void 0:z.getPosition())!=null?V:new Position$1(1,1)}),this.originalCursor=observableFromEvent(this,this.original.onDidChangeCursorPosition,()=>{var L;return(L=this.original.getPosition())!=null?L:new Position$1(1,1)}),this._argCodeEditorWidgetOptions=null,this._register(autorunHandleChanges({createEmptyChangeSummary:()=>({}),handleChange:(L,z)=>(L.didChange(i.editorOptions)&&Object.assign(z,L.change.changedOptions),!0)},(L,z)=>{i.editorOptions.read(L),this._options.renderSideBySide.read(L),this.modified.updateOptions(this._adjustOptionsForRightHandSide(L,z)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(L,z))}))}_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 i;e||(e="");const t=localize("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=__decorate$1N([__param$1J(5,IInstantiationService),__param$1J(6,IKeybindingService)],DiffEditorEditors);const rl=class rl extends Disposable{constructor(){super(...arguments),this._id=++rl.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)}};rl.idCounter=0;let DelegatingEditor=rl;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)}};let DiffEditorOptions=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=observableValue(this,0),this._screenReaderMode=observableFromEvent(this,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.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(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.compactMode=derived(this,r=>this._options.read(r).compactMode),this.trueInlineDiffRenderingEnabled=derived(this,r=>this._options.read(r).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=derived(this,r=>!this.renderSideBySide.read(r)&&this.trueInlineDiffRenderingEnabled.read(r)),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),this._model=observableValue(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(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)}setModel(e){this._model.set(e,void 0)}};DiffEditorOptions=__decorate$1M([__param$1I(1,IAccessibilityService)],DiffEditorOptions);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(n,e){var t,i,r,g,y,k,L,z,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?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:boolean((i=n.experimental)==null?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations),useTrueInlineView:boolean((r=n.experimental)==null?void 0:r.useTrueInlineView,e.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:boolean((k=(g=n.hideUnchangedRegions)==null?void 0:g.enabled)!=null?k:(y=n.experimental)==null?void 0:y.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:clampedInt((L=n.hideUnchangedRegions)==null?void 0:L.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:clampedInt((z=n.hideUnchangedRegions)==null?void 0:z.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:clampedInt((V=n.hideUnchangedRegions)==null?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),compactMode:boolean(n.compactMode,e.compactMode)}}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)}};let DiffEditorWidget=class extends DelegatingEditor{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$1("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[h$1("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),h$1("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),h$1("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register(disposableObservableValue(this,void 0)),this._diffModel=derived(this,_e=>{var Ce;return(Ce=this._diffModelSrc.read(_e))==null?void 0:Ce.object}),this.onDidChangeModel=Event$1.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]))),this._boundarySashes=observableValue(this,void 0),this._accessibleDiffViewerShouldBeVisible=observableValue(this,!1),this._accessibleDiffViewerVisible=derived(this,_e=>this._options.onlyShowAccessibleDiffViewer.read(_e)?!0:this._accessibleDiffViewerShouldBeVisible.read(_e)),this._movedBlocksLinesPart=observableValue(this,void 0),this._layoutInfo=derived(this,_e=>{var Ue,Dt,jt,ei,ti;const Ce=this._rootSizeObserver.width.read(_e),xe=this._rootSizeObserver.height.read(_e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=xe+"px";const Ie=this._sash.read(_e),Ne=this._gutter.read(_e),$e=(Ue=Ne==null?void 0:Ne.width.read(_e))!=null?Ue:0,Oe=(jt=(Dt=this._overviewRulerPart.read(_e))==null?void 0:Dt.width)!=null?jt:0;let Fe,Et,ze,qe,Ve;if(!!Ie){const hi=Ie.sashLeft.read(_e),ui=(ti=(ei=this._movedBlocksLinesPart.read(_e))==null?void 0:ei.width.read(_e))!=null?ti:0;Fe=0,Et=hi-$e-ui,Ve=hi-$e,ze=hi,qe=Ce-ze-Oe}else{Ve=0;const hi=this._options.inlineViewHideOriginalLineNumbers.read(_e);Fe=$e,hi?Et=0:Et=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(_e)),ze=$e+Et,qe=Ce-ze-Oe}return this.elements.original.style.left=Fe+"px",this.elements.original.style.width=Et+"px",this._editors.original.layout({width:Et,height:xe},!0),Ne==null||Ne.layout(Ve),this.elements.modified.style.left=ze+"px",this.elements.modified.style.width=qe+"px",this._editors.modified.layout({width:qe,height:xe},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((_e,Ce)=>_e==null?void 0:_e.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.elements.root.remove())),this._rootSizeObserver=this._register(new ObservableElementSizeObserver(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout((pe=t.automaticLayout)!=null?pe:!1),this._options=this._instantiationService.createInstance(DiffEditorOptions,t),this._register(autorun(_e=>{this._options.setWidth(this._rootSizeObserver.width.read(_e))})),this._contextKeyService.createKey(EditorContextKeys.isEmbeddedDiffEditor.key,!1),this._register(bindContextKey(EditorContextKeys.isEmbeddedDiffEditor,this._contextKeyService,_e=>this._options.isInEmbeddedEditor.read(_e))),this._register(bindContextKey(EditorContextKeys.comparingMovedCode,this._contextKeyService,_e=>{var Ce;return!!((Ce=this._diffModel.read(_e))!=null&&Ce.movedTextToCompare.read(_e))})),this._register(bindContextKey(EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,_e=>this._options.couldShowInlineViewBecauseOfSize.read(_e))),this._register(bindContextKey(EditorContextKeys.diffEditorInlineMode,this._contextKeyService,_e=>!this._options.renderSideBySide.read(_e))),this._register(bindContextKey(EditorContextKeys.hasChanges,this._contextKeyService,_e=>{var Ce,xe,Ie;return((Ie=(xe=(Ce=this._diffModel.read(_e))==null?void 0:Ce.diff.read(_e))==null?void 0:xe.mappings.length)!=null?Ie:0)>0})),this._editors=this._register(this._instantiationService.createInstance(DiffEditorEditors,this.elements.original,this.elements.modified,this._options,i,(_e,Ce,xe,Ie)=>this._createInnerEditor(_e,Ce,xe,Ie))),this._register(bindContextKey(EditorContextKeys.diffEditorOriginalWritable,this._contextKeyService,_e=>this._options.originalEditable.read(_e))),this._register(bindContextKey(EditorContextKeys.diffEditorModifiedWritable,this._contextKeyService,_e=>!this._options.readOnly.read(_e))),this._register(bindContextKey(EditorContextKeys.diffEditorOriginalUri,this._contextKeyService,_e=>{var Ce,xe;return(xe=(Ce=this._diffModel.read(_e))==null?void 0:Ce.model.original.uri.toString())!=null?xe:""})),this._register(bindContextKey(EditorContextKeys.diffEditorModifiedUri,this._contextKeyService,_e=>{var Ce,xe;return(xe=(Ce=this._diffModel.read(_e))==null?void 0:Ce.model.modified.uri.toString())!=null?xe:""})),this._overviewRulerPart=derivedDisposable(this,_e=>this._options.renderOverviewRuler.read(_e)?this._instantiationService.createInstance(readHotReloadableExport(OverviewRulerFeature,_e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(Ce=>Ce.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const z={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((_e,Ce)=>{var xe,Ie;return _e-((Ie=(xe=this._overviewRulerPart.read(Ce))==null?void 0:xe.width)!=null?Ie:0)})};this._sashLayout=new SashLayout(this._options,z),this._sash=derivedDisposable(this,_e=>{const Ce=this._options.renderSideBySide.read(_e);return this.elements.root.classList.toggle("side-by-side",Ce),Ce?new DiffEditorSash(this.elements.root,z,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const V=derivedDisposable(this,_e=>this._instantiationService.createInstance(readHotReloadableExport(HideUnchangedRegionsFeature,_e),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);derivedDisposable(this,_e=>this._instantiationService.createInstance(readHotReloadableExport(DiffEditorDecorations,_e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const j=new Set,ie=new Set;let oe=!1;const re=derivedDisposable(this,_e=>this._instantiationService.createInstance(readHotReloadableExport(DiffEditorViewZones,_e),getWindow$2(this._domElement),this._editors,this._diffModel,this._options,this,()=>oe||V.get().isUpdatingHiddenAreas,j,ie)).recomputeInitiallyAndOnChange(this._store),ae=derived(this,_e=>{const Ce=re.read(_e).viewZones.read(_e).orig,xe=V.read(_e).viewZones.read(_e).origViewZones;return Ce.concat(xe)}),le=derived(this,_e=>{const Ce=re.read(_e).viewZones.read(_e).mod,xe=V.read(_e).viewZones.read(_e).modViewZones;return Ce.concat(xe)});this._register(applyViewZones(this._editors.original,ae,_e=>{oe=_e},j));let de;this._register(applyViewZones(this._editors.modified,le,_e=>{oe=_e,oe?de=StableEditorScrollState.capture(this._editors.modified):(de==null||de.restore(this._editors.modified),de=void 0)},ie)),this._accessibleDiffViewer=derivedDisposable(this,_e=>this._instantiationService.createInstance(readHotReloadableExport(AccessibleDiffViewer,_e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(Ce,xe)=>this._accessibleDiffViewerShouldBeVisible.set(Ce,xe),this._options.onlyShowAccessibleDiffViewer.map(Ce=>!Ce),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((Ce,xe)=>{var Ie;return(Ie=Ce==null?void 0:Ce.diff.read(xe))==null?void 0:Ie.mappings.map(Ne=>Ne.lineRangeMapping)}),new AccessibleDiffViewerModelFromEditors(this._editors))).recomputeInitiallyAndOnChange(this._store);const ue=this._accessibleDiffViewerVisible.map(_e=>_e?"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,_e=>this._options.shouldRenderGutterMenu.read(_e)?this._instantiationService.createInstance(readHotReloadableExport(DiffEditorGutter,_e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(recomputeInitiallyAndOnChange(this._layoutInfo)),derivedDisposable(this,_e=>new(readHotReloadableExport(MovedBlocksLinesFeature,_e))(this.elements.root,this._diffModel,this._layoutInfo.map(Ce=>Ce.originalEditor),this._layoutInfo.map(Ce=>Ce.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,_e=>{this._movedBlocksLinesPart.set(_e,void 0)}),this._register(Event$1.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,_e=>this._handleCursorPositionChange(_e,!0))),this._register(Event$1.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,_e=>this._handleCursorPositionChange(_e,!1)));const he=this._diffModel.map(this,(_e,Ce)=>{if(_e)return _e.diff.read(Ce)===void 0&&!_e.isDiffUpToDate.read(Ce)});this._register(autorunWithStore((_e,Ce)=>{if(he.read(_e)===!0){const xe=this._editorProgressService.show(!0,1e3);Ce.add(toDisposable(()=>xe.done()))}})),this._register(autorunWithStore((_e,Ce)=>{Ce.add(new(readHotReloadableExport(RevertButtonsFeature,_e))(this._editors,this._diffModel,this._options,this))})),this._register(autorunWithStore((_e,Ce)=>{const xe=this._diffModel.read(_e);if(xe)for(const Ie of[xe.model.original,xe.model.modified])Ce.add(Ie.onWillDispose(Ne=>{onUnexpectedError(new BugIndicatingError("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register(autorun(_e=>{this._options.setModel(this._diffModel.read(_e))}))}_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 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,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(t,r=>{var k;const g=e==null?void 0:e.object;observableFromEvent.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(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$1(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(z=>z.lineRangeMapping.modified.startLineNumber>i))!=null?k:t[0]:r=(L=findLast$1(t,z=>z.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(z=>e?z.lineRangeMapping.flip():z.lineRangeMapping);if(L){const z=translatePosition(g.getStartPosition(),L),V=translatePosition(g.getEndPosition(),L);r=Range$2.plusRange(z,V)}}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(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(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.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$1L([__param$1H(3,IContextKeyService),__param$1H(4,IInstantiationService),__param$1H(5,ICodeEditorService),__param$1H(6,IAccessibilitySignalService),__param$1H(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$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 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,z,V,j,ie,oe){const re={...t};re.ariaLabel=re.ariaLabel||StandaloneCodeEditorNLS.editorViewAccessibleLabel,super(e,re,{},i,r,g,y,z,V,j,ie,oe),L instanceof StandaloneKeybindingService?this._standaloneKeybindingService=L:this._standaloneKeybindingService=null,createAriaDomNode(re.ariaContainerElement),setHoverDelegateFactory((ae,le)=>i.createInstance(WorkbenchHoverDelegate,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,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,z=(oe,...re)=>Promise.resolve(e.run(this,...re)),V=new DisposableStore,j=this.getId()+":"+t;if(V.add(CommandsRegistry.registerCommand(j,z)),k){const oe={command:{id:j,title:i},when:r,group:k,order:L};V.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,oe))}if(Array.isArray(g))for(const oe of g)V.add(this._standaloneKeybindingService.addDynamicKeybinding(j,oe,z,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),V.add(toDisposable(()=>{this._actions.delete(t)})),V}_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$1K([__param$1G(2,IInstantiationService),__param$1G(3,ICodeEditorService),__param$1G(4,ICommandService),__param$1G(5,IContextKeyService),__param$1G(6,IHoverService),__param$1G(7,IKeybindingService),__param$1G(8,IThemeService),__param$1G(9,INotificationService),__param$1G(10,IAccessibilityService),__param$1G(11,ILanguageConfigurationService),__param$1G(12,ILanguageFeaturesService)],StandaloneCodeEditor);let StandaloneEditor=class extends StandaloneCodeEditor{constructor(e,t,i,r,g,y,k,L,z,V,j,ie,oe,re,ae,le){const de={...t};updateConfigurationService(j,de,!1);const ue=z.registerEditorContainer(e);typeof de.theme=="string"&&z.setTheme(de.theme),typeof de.autoDetectHighContrast<"u"&&z.setAutoDetectHighContrast(!!de.autoDetectHighContrast);const he=de.model;delete de.model,super(e,de,i,r,g,y,k,L,z,V,ie,ae,le),this._configurationService=j,this._standaloneThemeService=z,this._register(ue);let pe;if(typeof he>"u"){const _e=re.getLanguageIdByMimeType(de.language)||de.language||PLAINTEXT_LANGUAGE_ID;pe=createTextModel(oe,re,de.value||"",_e,void 0),this._ownsModel=!0}else pe=he,this._ownsModel=!1;if(this._attachModel(pe),pe){const _e={oldModelUrl:null,newModelUrl:pe.uri};this._onDidChangeModel.fire(_e)}}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$1K([__param$1G(2,IInstantiationService),__param$1G(3,ICodeEditorService),__param$1G(4,ICommandService),__param$1G(5,IContextKeyService),__param$1G(6,IHoverService),__param$1G(7,IKeybindingService),__param$1G(8,IStandaloneThemeService),__param$1G(9,INotificationService),__param$1G(10,IConfigurationService),__param$1G(11,IAccessibilityService),__param$1G(12,IModelService),__param$1G(13,ILanguageService),__param$1G(14,ILanguageConfigurationService),__param$1G(15,ILanguageFeaturesService)],StandaloneEditor);let StandaloneDiffEditor2=class extends DiffEditorWidget{constructor(e,t,i,r,g,y,k,L,z,V,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,V),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$1K([__param$1G(2,IInstantiationService),__param$1G(3,IContextKeyService),__param$1G(4,ICodeEditorService),__param$1G(5,IStandaloneThemeService),__param$1G(6,INotificationService),__param$1G(7,IConfigurationService),__param$1G(8,IContextMenuService),__param$1G(9,IEditorProgressService),__param$1G(10,IClipboardService),__param$1G(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$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)}};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,g){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=r,this._viewModel=observableValue(this,void 0),this._collapsed=derived(this,L=>{var z;return(z=this._viewModel.read(L))==null?void 0:z.collapsed.read(L)}),this._editorContentHeight=observableValue(this,500),this.contentHeight=derived(this,L=>(this._collapsed.read(L)?0:this._editorContentHeight.read(L))+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,L=>{const z=this._modifiedContentWidth.read(L)-this._modifiedWidth.read(L),V=this._originalContentWidth.read(L)-this._originalWidth.read(L);return z>V?{maxScroll:z,width:this._modifiedWidth.read(L)}:{maxScroll:V,width:this._originalWidth.read(L)}}),this._elements=h$1("div.multiDiffEntry",[h$1("div.header@header",[h$1("div.header-content",[h$1("div.collapse-button@collapseButton"),h$1("div.file-path",[h$1("div.title.modified.show-file-icons@primaryPath",[]),h$1("div.status.deleted@status",["R"]),h$1("div.title.original.show-file-icons@secondaryPath",[])]),h$1("div.actions@actions")])]),h$1("div.editorParent",[h$1("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(DiffEditorWidget,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=observableCodeEditor(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=observableCodeEditor(this.editor.getOriginalEditor()).isFocused,this.isFocused=derived(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),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const y=new Button$1(this._elements.collapseButton,{});this._register(autorun(L=>{y.element.className="",y.icon=this._collapsed.read(L)?Codicon.chevronRight:Codicon.chevronDown})),this._register(y.onDidClick(()=>{var L;(L=this._viewModel.get())==null||L.collapsed.set(!this._collapsed.get(),void 0)})),this._register(autorun(L=>{this._elements.editor.style.display=this._collapsed.read(L)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(L=>{const z=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(z,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(L=>{const z=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(z,void 0)})),this._register(this.editor.onDidContentSizeChange(L=>{globalTransaction(z=>{this._editorContentHeight.set(L.contentHeight,z),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),z),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),z)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(L=>{if(this._isSettingScrollTop||!L.scrollTopChanged||!this._data)return;const z=L.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(z)})),this._register(autorun(L=>{var V;const z=(V=this._viewModel.read(L))==null?void 0:V.isActive.read(L);this._elements.root.classList.toggle("active",z)})),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([IContextKeyService,this._contextKeyService])));this._register(k.createInstance(MenuWorkbenchToolBar,this._elements.actions,MenuId.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ActionRunnerWithContext(()=>{var L;return(L=this._viewModel.get())==null?void 0:L.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:L=>L.startsWith("navigation")},actionViewItemProvider:(L,z)=>createActionViewItem(k,L,z)}))}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(r=>{this._viewModel.set(void 0,r),this.editor.setDiffModel(null,r),this._dataStore.clear()});return}const i=e.viewModel.documentDiffItem;if(globalTransaction(r=>{var z,V,j,ie;(V=this._resourceLabel)==null||V.setUri((z=e.viewModel.modifiedUri)!=null?z: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(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$1J([__param$1F(3,IInstantiationService),__param$1F(4,IContextKeyService)],DiffEditorItemTemplate);class ObjectPool{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$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)}};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._scrollableElements=h$1("div.scrollContent",[h$1("div@content",{style:{overflow:"hidden"}}),h$1("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Scrollable$1({forceIntegerValues:!1,scheduleAtNextAnimationFrame:L=>scheduleAtNextAnimationFrame(getWindow$2(this._element),L),smoothScrollDuration:100})),this._scrollableElement=this._register(new SmoothScrollableElement(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=h$1("div.monaco-component.multiDiffEditor",{},[h$1("div",{},[this._scrollableElement.getDomNode()]),h$1("div.placeholder@placeholder",{},[h$1("div",[localize("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new ObservableElementSizeObserver(this._element,void 0)),this._objectPool=this._register(new ObjectPool(L=>{const z=this._instantiationService.createInstance(DiffEditorItemTemplate,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return z.setData(L),z})),this.scrollTop=observableFromEvent(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=observableFromEvent(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=derivedWithStore(this,(L,z)=>{const V=this._viewModel.read(L);if(!V)return{items:[],getItem:re=>{throw new BugIndicatingError}};const j=V.items.read(L),ie=new Map;return{items:j.map(re=>{var de;const ae=z.add(new VirtualizedViewItem(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(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,z)=>L.reduce((V,j)=>V+j.contentHeight.read(z)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(EditorContextKeys.inMultiDiffEditor.key,!0),this._register(autorunWithStore((L,z)=>{const V=this._viewModel.read(L);if(V&&V.contextKeys)for(const[j,ie]of Object.entries(V.contextKeys)){const oe=this._contextKeyService.createKey(j,void 0);oe.set(ie),z.add(toDisposable(()=>oe.reset()))}}));const k=this._parentContextKeyService.createKey(EditorContextKeys.multiDiffEditorAllCollapsed.key,!1);this._register(autorun(L=>{const z=this._viewModel.read(L);if(z){const V=z.items.read(L).every(j=>j.collapsed.read(L));k.set(V)}})),this._register(autorun(L=>{const z=this._dimension.read(L);this._sizeObserver.observe(z)})),this._register(autorun(L=>{const z=this._viewItems.read(L);this._elements.placeholder.classList.toggle("visible",z.length===0)})),this._scrollableElements.content.style.position="relative",this._register(autorun(L=>{const z=this._sizeObserver.height.read(L);this._scrollableElements.root.style.height="".concat(z,"px");const V=this._totalHeight.read(L);this._scrollableElements.content.style.height="".concat(V,"px");const j=this._sizeObserver.width.read(L);let ie=j;const oe=this._viewItems.read(L),re=findFirstMax(oe,compareBy(ae=>ae.maxScroll.read(L).maxScroll,numberComparator));if(re){const ae=re.maxScroll.read(L);ie=j+ae.maxScroll}this._scrollableElement.setScrollDimensions({width:j,height:z,scrollHeight:V,scrollWidth:ie})})),e.replaceChildren(this._elements.root),this._register(toDisposable(()=>{e.replaceChildren()})),this._register(this._register(autorun(L=>{globalTransaction(z=>{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 z of this._viewItems.read(e)){const V=z.contentHeight.read(e),j=Math.min(V,y),ie=OffsetRange.ofStartAndLength(r,j),oe=OffsetRange.ofStartAndLength(g,V);if(oe.isBefore(k))i-=V-j,z.hide();else if(oe.isAfter(k))z.hide();else{const re=Math.max(0,Math.min(k.start-oe.start,V-j));i-=re;const ae=OffsetRange.ofStartAndLength(t+i,y);z.render(ie,re,L,ae)}r+=j+this._spaceBetweenPx,g+=V+this._spaceBetweenPx}this._scrollableElements.content.style.transform="translateY(".concat(-(t+i),"px)")}};MultiDiffEditorWidgetImpl=__decorate$1I([__param$1E(4,IContextKeyService),__param$1E(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?void 0:y.object.contentHeight)==null?void 0:k.read(g))!=null?L:this.viewModel.lastTemplateData.read(g).contentHeight}),this.maxScroll=derived(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(this,g=>{var y;return(y=this._templateRef.read(g))==null?void 0:y.object}),this._isHidden=observableValue(this,!1),this._isFocused=derived(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(g=>{var k;const y=this._scrollLeft.read(g);(k=this._templateRef.read(g))==null||k.object.setScrollLeft(y)})),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.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$1.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(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",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$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 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$1H([__param$1D(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),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$2(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 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(){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:tokenize$2,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$1(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 z=>(L&&k===z||(k=z,L=new RegExp(substituteMatchesRe(n,e,z),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={languageId:n,includeLF:bool(e.includeLF,!1),noThrow:!1,maxStack:100,start:typeof e.start=="string"?e.start:null,ignoreCase:bool(e.ignoreCase,!1),unicode:bool(e.unicode,!1),tokenPostfix:string$1(e.tokenPostfix,"."+n),defaultToken:string$1(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 z of L){let V=z.include;if(V){if(typeof V!="string")throw createError(t,"an 'include' attribute must be a string at: "+y);if(V[0]==="@"&&(V=V.substr(1)),!e.tokenizer[V])throw createError(t,"include target '"+V+"' is not defined at: "+y);r(y+"."+V,k,e.tokenizer[V])}else{const j=new Rule$1(y);if(Array.isArray(z)&&z.length>=1&&z.length<=3)if(j.setRegex(i,z[0]),z.length>=3)if(typeof z[1]=="string")j.setAction(i,{token:z[1],next:z[2]});else if(typeof z[1]=="object"){const ie=z[1];ie.next=z[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,z[1]);else{if(!z.regex)throw createError(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+y);z.name&&typeof z.name=="string"&&(j.name=z.name),z.matchOnlyAtStart&&(j.matchOnlyAtLineStart=bool(z.matchOnlyAtLineStart,!1)),j.setRegex(i,z.regex),j.setAction(i,z.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;z===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: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$2(r.lineNumber,k.startColumn,r.lineNumber,k.endColumn)),L.range||(L.range=new Range$2(r.lineNumber,r.column,r.lineNumber,r.column)),L})}})}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 z=StandaloneServices.get(IMarkerService).read({resource:r.uri}).filter(V=>Range$2.areIntersectingOrTouching(V,g));return e.provideCodeActions(r,g,{markers:z,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,NewSymbolNameTriggerKind,PartialAcceptTriggerKind,HoverVerbosityAction,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 Zl{constructor(e,t){if(this.flags=t,(this.flags&1)!==0){const i=e.getModel();this.modelVersionId=i?format$1("{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 Zl))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 Zl(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,z,V){return k.provideDocumentRangeFormattingEdits(L,L.getFullModelRange(),z,V)}})}return i}const ia=class ia{static setFormatterSelector(e){return{dispose:ia._selectors.unshift(e)}}static async select(e,t,i,r){if(e.length===0)return;const g=Iterable.first(ia._selectors);if(g)return await g(e,t,i,r)}};ia._selectors=new LinkedList;let FormattingConflicts=ia;async function formatDocumentRangesWithSelectedProvider(n,e,t,i,r,g,y){const k=n.get(IInstantiationService),{documentRangeFormattingEditProvider:L}=n.get(ILanguageFeaturesService),z=isCodeEditor(e)?e.getModel():e,V=L.ordered(z),j=await FormattingConflicts.select(V,z,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 de,ue;const y=n.get(IEditorWorkerService),k=n.get(ILogService),L=n.get(IAccessibilitySignalService);let z,V;isCodeEditor(t)?(z=t.getModel(),V=new EditorStateCancellationTokenSource(t,5,void 0,r)):(z=t,V=new TextModelCancellationTokenSource(t,r));const j=[];let ie=0;for(const he of asArray(i).sort(Range$2.compareRangesUsingStarts))ie>0&&Range$2.areIntersectingOrTouching(j[ie-1],he)?j[ie-1]=Range$2.fromPositions(j[ie-1].getStartPosition(),he.getEndPosition()):ie=j.push(he);const oe=async he=>{var _e,Ce;k.trace("[format][provideDocumentRangeFormattingEdits] (request)",(_e=e.extensionId)==null?void 0:_e.value,he);const pe=await e.provideDocumentRangeFormattingEdits(z,he,z.getFormattingOptions(),V.token)||[];return k.trace("[format][provideDocumentRangeFormattingEdits] (response)",(Ce=e.extensionId)==null?void 0:Ce.value,pe),pe},re=(he,pe)=>{if(!he.length||!pe.length)return!1;const _e=he.reduce((Ce,xe)=>Range$2.plusRange(Ce,xe.range),he[0].range);if(!pe.some(Ce=>Range$2.intersectRanges(_e,Ce.range)))return!1;for(const Ce of he)for(const xe of pe)if(Range$2.intersectRanges(Ce.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(z,j,z.getFormattingOptions(),V.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(V.token.isCancellationRequested)return!0;le.push(await oe(he))}for(let he=0;he({text:_e.text,range:Range$2.lift(_e.range),forceMoveMarkers:!0})),_e=>{for(const{range:Ce}of _e)if(Range$2.areIntersectingOrTouching(Ce,pe))return[new Selection$1(Ce.startLineNumber,Ce.startColumn,Ce.endLineNumber,Ce.endColumn)];return null})}return L.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,z=getRealAndSyntheticDocumentFormattersOrdered(k.documentFormattingEditProvider,k.documentRangeFormattingEditProvider,L),V=await FormattingConflicts.select(z,L,t,1);V&&(i.report(V),await y.invokeFunction(formatDocumentWithProvider,V,e,t,r,g))}async function formatDocumentWithProvider(n,e,t,i,r,g){const y=n.get(IEditorWorkerService),k=n.get(IAccessibilitySignalService);let L,z;isCodeEditor(t)?(L=t.getModel(),z=new EditorStateCancellationTokenSource(t,5,void 0,r)):(L=t,z=new TextModelCancellationTokenSource(t,r));let V;try{const j=await e.provideDocumentFormattingEdits(L,L.getFormattingOptions(),z.token);if(V=await y.computeMoreMinimalEdits(L.uri,j),z.token.isCancellationRequested)return!0}finally{z.dispose()}if(!V||V.length===0)return!1;if(isCodeEditor(t))FormattingEdit.execute(t,V,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:j}]=V,ie=new Selection$1(j.startLineNumber,j.startColumn,j.endLineNumber,j.endColumn);L.pushEditOperations([ie],V.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),z=await y.createModelReference(t);try{return getOnTypeFormattingEdits(k,L,z.object.textEditorModel,Position$1.lift(i),r,g,CancellationToken.None)}finally{z.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.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$5=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__getOwnPropNames$4=Object.getOwnPropertyNames,__hasOwnProp$5=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$5.call(n,r)&&r!==t&&__defProp$5(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),monaco_editor_core_exports$4={};__reExport$4(monaco_editor_core_exports$4,monaco_editor_core_star);var languageDefinitions={},lazyLanguageLoaders={},LazyLanguageLoader=class vc{static getOrCreate(e){return lazyLanguageLoaders[e]||(lazyLanguageLoaders[e]=new vc(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$4.languages.register(n);const t=LazyLanguageLoader.getOrCreate(e);monaco_editor_core_exports$4.languages.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),monaco_editor_core_exports$4.languages.onLanguageEncountered(e,async()=>{const i=await t.load();monaco_editor_core_exports$4.languages.setLanguageConfiguration(e,i.conf)})}registerLanguage({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>__vitePreload(()=>import("./abap-BrgZPUOV.js"),[])});registerLanguage({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>__vitePreload(()=>import("./apex-DyP6w7ZV.js"),[])});registerLanguage({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>__vitePreload(()=>import("./azcli-BaLxmfj-.js"),[])});registerLanguage({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>__vitePreload(()=>import("./bat-CFOPXBzS.js"),[])});registerLanguage({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>__vitePreload(()=>import("./bicep-D1_qr0wn.js"),[])});registerLanguage({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>__vitePreload(()=>import("./cameligo-BFG1Mk7z.js"),[])});registerLanguage({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>__vitePreload(()=>import("./clojure-DTECt2xU.js"),[])});registerLanguage({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>__vitePreload(()=>import("./coffee-CDGzqUPQ.js"),[])});registerLanguage({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>__vitePreload(()=>import("./cpp-CLLBncYj.js"),[])});registerLanguage({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>__vitePreload(()=>import("./cpp-CLLBncYj.js"),[])});registerLanguage({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>__vitePreload(()=>import("./csharp-dUCx_-0o.js"),[])});registerLanguage({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>__vitePreload(()=>import("./csp-5Rap-vPy.js"),[])});registerLanguage({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>__vitePreload(()=>import("./css-CD-p54zM.js"),[])});registerLanguage({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>__vitePreload(()=>import("./cypher-DrQuvNYM.js"),[])});registerLanguage({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>__vitePreload(()=>import("./dart-CFKIUWau.js"),[])});registerLanguage({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>__vitePreload(()=>import("./dockerfile-Zznr-cwX.js"),[])});registerLanguage({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>__vitePreload(()=>import("./ecl-Ce3n6wWz.js"),[])});registerLanguage({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>__vitePreload(()=>import("./elixir-deUWdS0T.js"),[])});registerLanguage({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>__vitePreload(()=>import("./flow9-i9-g7ZhI.js"),[])});registerLanguage({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>__vitePreload(()=>import("./fsharp-CzKuDChf.js"),[])});registerLanguage({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagAutoInterpolationDollar)});registerLanguage({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagAngleInterpolationDollar)});registerLanguage({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagBracketInterpolationDollar)});registerLanguage({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagAngleInterpolationBracket)});registerLanguage({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagBracketInterpolationBracket)});registerLanguage({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagAutoInterpolationDollar)});registerLanguage({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-CiD9j2kj.js"),[]).then(n=>n.TagAutoInterpolationBracket)});registerLanguage({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>__vitePreload(()=>import("./go-Cphgjts3.js"),[])});registerLanguage({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>__vitePreload(()=>import("./graphql-Cg7bfA9N.js"),[])});registerLanguage({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>__vitePreload(()=>import("./handlebars-4N0ORb2x.js"),[])});registerLanguage({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>__vitePreload(()=>import("./hcl-0cvrggvQ.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-Cd8FN7BP.js"),[])});registerLanguage({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>__vitePreload(()=>import("./ini-Drc7WvVn.js"),[])});registerLanguage({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>__vitePreload(()=>import("./java-B_fMsGYe.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-CX2hOwYB.js"),__vite__mapDeps([0,1]))});registerLanguage({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>__vitePreload(()=>import("./julia-Bqgm2twL.js"),[])});registerLanguage({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>__vitePreload(()=>import("./kotlin-BSkB5QuD.js"),[])});registerLanguage({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>__vitePreload(()=>import("./less-BpQdNyL5.js"),[])});registerLanguage({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>__vitePreload(()=>import("./lexon-YWi4-JPR.js"),[])});registerLanguage({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>__vitePreload(()=>import("./lua-nf6ki56Z.js"),[])});registerLanguage({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>__vitePreload(()=>import("./liquid-CfuCfiYw.js"),[])});registerLanguage({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>__vitePreload(()=>import("./m3-Cpb6xl2v.js"),[])});registerLanguage({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>__vitePreload(()=>import("./markdown-DSZPf7rp.js"),[])});registerLanguage({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>__vitePreload(()=>import("./mdx-DW5MwR0c.js"),[])});registerLanguage({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({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>__vitePreload(()=>import("./msdax-rUNN04Wq.js"),[])});registerLanguage({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>__vitePreload(()=>import("./mysql-DDwshQtU.js"),[])});registerLanguage({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>__vitePreload(()=>import("./objective-c-B5zXfXm9.js"),[])});registerLanguage({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>__vitePreload(()=>import("./pascal-CXOwvkN_.js"),[])});registerLanguage({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>__vitePreload(()=>import("./pascaligo-Bc-ZgV77.js"),[])});registerLanguage({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>__vitePreload(()=>import("./perl-CwNk8-XU.js"),[])});registerLanguage({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>__vitePreload(()=>import("./pgsql-tGk8EFnU.js"),[])});registerLanguage({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>__vitePreload(()=>import("./php-CpIb_Oan.js"),[])});registerLanguage({id:"pla",extensions:[".pla"],loader:()=>__vitePreload(()=>import("./pla-B03wrqEc.js"),[])});registerLanguage({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>__vitePreload(()=>import("./postiats-BKlk5iyT.js"),[])});registerLanguage({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>__vitePreload(()=>import("./powerquery-Bhzvs7bI.js"),[])});registerLanguage({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>__vitePreload(()=>import("./powershell-Dd3NCNK9.js"),[])});registerLanguage({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>__vitePreload(()=>import("./protobuf-xlMSjALG.js"),[])});registerLanguage({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>__vitePreload(()=>import("./pug-BaJupSGV.js"),[])});registerLanguage({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>__vitePreload(()=>import("./python-BXI8FvMQ.js"),[])});registerLanguage({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>__vitePreload(()=>import("./qsharp-DXyYeYxl.js"),[])});registerLanguage({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>__vitePreload(()=>import("./r-CdQndTaG.js"),[])});registerLanguage({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>__vitePreload(()=>import("./razor-8NUNoMDm.js"),[])});registerLanguage({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>__vitePreload(()=>import("./redis-CVwtpugi.js"),[])});registerLanguage({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>__vitePreload(()=>import("./redshift-25W9uPmb.js"),[])});registerLanguage({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>__vitePreload(()=>import("./restructuredtext-DfzH4Xui.js"),[])});registerLanguage({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>__vitePreload(()=>import("./ruby-BUKB_EgG.js"),[])});registerLanguage({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>__vitePreload(()=>import("./rust-D5C2fndG.js"),[])});registerLanguage({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>__vitePreload(()=>import("./sb-CDntyWJ8.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-BoFRg7Ot.js"),[])});registerLanguage({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>__vitePreload(()=>import("./scheme-Bio4gycK.js"),[])});registerLanguage({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>__vitePreload(()=>import("./scss-DMHQJHYT.js"),[])});registerLanguage({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>__vitePreload(()=>import("./shell-CX-rkNHf.js"),[])});registerLanguage({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>__vitePreload(()=>import("./solidity-Tw7wswEv.js"),[])});registerLanguage({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>__vitePreload(()=>import("./sophia-C5WLch3f.js"),[])});registerLanguage({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>__vitePreload(()=>import("./sparql-DHaeiCBh.js"),[])});registerLanguage({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>__vitePreload(()=>import("./sql-CCSDG5nI.js"),[])});registerLanguage({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>__vitePreload(()=>import("./st-pnP8ivHi.js"),[])});registerLanguage({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>__vitePreload(()=>import("./swift-DwJ7jVG9.js"),[])});registerLanguage({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>__vitePreload(()=>import("./systemverilog-B9Xyijhd.js"),[])});registerLanguage({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>__vitePreload(()=>import("./systemverilog-B9Xyijhd.js"),[])});registerLanguage({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>__vitePreload(()=>import("./tcl-DnHyzjbg.js"),[])});registerLanguage({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>__vitePreload(()=>import("./twig-CPajHgWi.js"),[])});registerLanguage({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>__vitePreload(()=>import("./typescript-DzHqywIL.js"),[])});registerLanguage({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>__vitePreload(()=>import("./typespec-DN6NNH85.js"),[])});registerLanguage({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>__vitePreload(()=>import("./vb-DgyLZaXg.js"),[])});registerLanguage({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>__vitePreload(()=>import("./wgsl-DyrQc-iL.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-DYH8DAMi.js"),[])});registerLanguage({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>__vitePreload(()=>import("./yaml-B5oyxuqJ.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$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 LanguageServiceDefaultsImpl$3=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$3.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$3.languages.css={cssDefaults,lessDefaults,scssDefaults};function getMode$4(){return __vitePreload(()=>import("./cssMode-CUtP3C7T.js"),[])}monaco_editor_core_exports$3.languages.onLanguage("less",()=>{getMode$4().then(n=>n.setupMode(lessDefaults))});monaco_editor_core_exports$3.languages.onLanguage("scss",()=>{getMode$4().then(n=>n.setupMode(scssDefaults))});monaco_editor_core_exports$3.languages.onLanguage("css",()=>{getMode$4().then(n=>n.setupMode(cssDefaults))});/*!----------------------------------------------------------------------------- * 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$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$2=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 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$2.languages.html={htmlDefaults,razorDefaults,handlebarDefaults,htmlLanguageService,handlebarLanguageService,razorLanguageService,registerHTMLLanguageService};function getMode$3(){return __vitePreload(()=>import("./htmlMode-CWgD01bs.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$2.languages.onLanguage(n,async()=>{r=(await getMode$3()).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$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$1=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$1.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());monaco_editor_core_exports$1.languages.json={jsonDefaults,getWorker};function getMode$2(){return __vitePreload(()=>import("./jsonMode-DCQrFPOi.js"),[])}monaco_editor_core_exports$1.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});monaco_editor_core_exports$1.languages.onLanguage("json",()=>{getMode$2().then(n=>n.setupMode(jsonDefaults))});/*!----------------------------------------------------------------------------- * 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$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.4.5",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-DaFX5l0C.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 r;const i=findDiffEditor(e,t.originalUri,t.modifiedUri);i instanceof DiffEditorWidget&&i.revertRangeMappings((r=t.mapping.innerChanges)!=null?r:[])}}const accessibleDiffViewerCategory=localize2("accessibleDiffViewer","Accessible Diff Viewer"),sl=class sl extends Action2{constructor(){super({id:sl.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()}};sl.id="editor.action.accessibleDiffViewer.next";let AccessibleDiffViewerNext=sl;const al=class al extends Action2{constructor(){super({id:al.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()}};al.id="editor.action.accessibleDiffViewer.prev";let AccessibleDiffViewerPrev=al;function findDiffEditor(n,e,t){return n.get(ICodeEditorService).listDiffEditors().find(g=>{var L,z;const y=g.getModifiedEditor(),k=g.getOriginalEditor();return y&&((L=y.getModel())==null?void 0:L.uri.toString())===t.toString()&&k&&((z=k.getModel())==null?void 0:z.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$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)}},SelectionAnchorController_1;const SelectionAnchorSet=new RawContextKey("selectionAnchorSet",!1);var wr;let SelectionAnchorController=(wr=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_1=wr,wr.ID="editor.contrib.selectionAnchorController",wr);SelectionAnchorController=SelectionAnchorController_1=__decorate$1G([__param$1C(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.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.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.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.cancelSelectionAnchor()}}registerEditorContribution(SelectionAnchorController.ID,SelectionAnchorController,4);registerEditorAction(SetSelectionAnchor);registerEditorAction(GoToSelectionAnchor);registerEditorAction(SelectFromAnchorToCursor);registerEditorAction(CancelSelectionAnchor);const overviewRulerBracketMatchForeground=registerColor("editorOverviewRuler.bracketMatchForeground","#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.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 g;let r=!0;i&&i.selectBrackets===!1&&(r=!1),(g=BracketMatchingController.get(t))==null||g.selectToBracket(r)}}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.removeBrackets(this.id)}}class BracketsData{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Po=class Po extends Disposable{static get(e){return e.getContribution(Po.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 z=t.bracketPairs.findNextBracket(g);z&&z.range&&(y=t.bracketPairs.matchBracket(z.range.getStartPosition()))}let k=null,L=null;if(y){y.sort(Range$2.compareRangesUsingStarts);const[z,V]=y;if(k=e?z.getStartPosition():z.getEndPosition(),L=e?V.getEndPosition():V.getStartPosition(),V.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,z=0;const V=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?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("#"))}),fo=class fo{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+fo.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new fo((this.value?[this.value,...e]:e).join(fo.sep))}};fo.sep=".",fo.None=new fo("@@none@@"),fo.Empty=new fo("");let HierarchicalKind=fo;const CodeDataTransfers={EDITORS:"CodeEditors",FILES:"CodeFiles"};class DragAndDropContributionRegistry{}const Extensions={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Registry.add(Extensions.DragAndDropContribution,new DragAndDropContributionRegistry);const na=class na{constructor(){}static getInstance(){return na.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};na.INSTANCE=new na;let LocalSelectionTransfer=na;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$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)}};class SimplePasteAndDropProvider{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(){}}}}const oa=class oa extends SimplePasteAndDropProvider{constructor(){super(...arguments),this.kind=oa.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}}};oa.id="text",oa.kind=new HierarchicalKind("text.plain");let DefaultTextPasteOrDropEditProvider=oa;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$1F([__param$1B(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 L;if(r.triggerKind!==DocumentPasteTriggerKind.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("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.documentDropEditProvider.register("*",new DefaultTextPasteOrDropEditProvider)),this._register(e.documentDropEditProvider.register("*",new PathProvider)),this._register(e.documentDropEditProvider.register("*",new RelativePathProvider(t)))}};DefaultDropProvidersFeature=__decorate$1F([__param$1B(0,ILanguageFeaturesService),__param$1B(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$1F([__param$1B(0,ILanguageFeaturesService),__param$1B(1,IWorkspaceContextService)],DefaultPasteProvidersFeature);var Un;let Scanner$1=(Un=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=Un._table[i],typeof r=="number")return this.pos+=1,{type:r,pos:e,len:1};if(Un.isDigitCharacter(i)){r=8;do t+=1,i=this.value.charCodeAt(e+t);while(Un.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}if(Un.isVariableCharacter(i)){r=9;do i=this.value.charCodeAt(e+ ++t);while(Un.isVariableCharacter(i)||Un.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 Un._table[i]>"u"&&!Un.isDigitCharacter(i)&&!Un.isVariableCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}},Un._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13},Un);class Marker{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 z of k)z.parent=L,y(z.children,z)}(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}}let Text$1=class _c extends Marker{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new _c(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$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 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$1(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$2(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$2([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$2(this.children,e)}}class SnippetParser{constructor(){this._scanner=new Scanner$1,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,z)=>{const V=r.get(L.index);if(!V)return;const j=new Placeholder(L.index);j.transform=L.transform;for(const ie of V){const oe=ie.clone();j.appendChild(oe),oe instanceof Placeholder&&r.has(oe.index)&&!z.has(oe.index)&&(z.add(oe.index),y(oe,z),z.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$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(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$1("${"+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$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(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;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(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$1(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?void 0:i.edits)!=null?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?void 0:g.edits)!=null?y:[]]}}function sortEditsByYieldTo(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 z of n)if(z!==k&&e(L,z)){let V=t.get(k);V||(V=[],t.set(k,V)),V.push(z)}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 z=[];const V=t.get(L);return V&&(r.push(L),z=g(V),r.pop()),i.add(L),[...z,L,...g(k.slice(1))]}return g(Array.from(n))}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)}};const inlineProgressDecoration=ModelDecorationOptions.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:noBreakWhitespace,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),ll=class ll 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 ll.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)}};ll.baseId="editor.widget.inlineProgressWidget";let InlineProgressWidget=ll,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=this._register(new MutableDisposable),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(()=>{const k=Range$2.fromPositions(e);this._currentDecorations.set([{range:k,options:inlineProgressDecoration}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(InlineProgressWidget,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=__decorate$1E([__param$1A(2,IInstantiationService)],InlineProgressManager);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)}},MessageController_1,zo;let MessageController=(zo=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.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_1=zo,zo.ID="editor.contrib.messageController",zo.MESSAGE_VISIBLE=new RawContextKey("messageVisible",!1,localize("messageVisible","Whether the editor is currently showing an inline message")),zo);MessageController=MessageController_1=__decorate$1D([__param$1z(1,IContextKeyService),__param$1z(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);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$4(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.")}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$1y=function(n,e){return function(t,i){e(t,i,n)}},PostEditWidget_1,Er;let PostEditWidget=(Er=class extends Disposable{constructor(e,t,i,r,g,y,k,L,z,V){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=g,this.edits=y,this.onSelectNewEdit=k,this._contextMenuService=L,this._keybindingService=V,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(z),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(V.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=$$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_1=Er,Er.baseId="editor.widget.postEditWidget",Er);PostEditWidget=PostEditWidget_1=__decorate$1C([__param$1y(7,IContextMenuService),__param$1y(8,IContextKeyService),__param$1y(9,IKeybindingService)],PostEditWidget);let PostEditWidgetManager=class extends Disposable{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),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=async le=>{const de=this._editor.getModel();de&&(await de.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:le,allEdits:t.allEdits},i,r,g))},z=(le,de)=>{isCancellationError(le)||(this._notificationService.error(de),i&&this.show(e[0],t,L))};let V;try{V=await r(k,g)}catch(le){return z(le,localize("resolveError","Error resolving edit '{0}':\n{1}",k.title,toErrorMessage(le)))}if(g.isCancellationRequested)return;const j=createCombinedWorkspaceEdit(y.uri,e,V),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 z(le,localize("applyError","Error applying edit '{0}':\n{1}",k.title,toErrorMessage(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,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=__decorate$1C([__param$1y(4,IInstantiationService),__param$1y(5,IBulkEditService),__param$1y(6,INotificationService)],PostEditWidgetManager);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)}},CopyPasteController_1;const changePasteTypeCommandId="editor.changePasteType",pasteWidgetVisibleCtx=new RawContextKey("pasteWidgetVisible",!1,localize("pasteWidgetVisible","Whether the paste widget is showing")),vscodeClipboardMime="application/vnd.code.copyMetadata";var xr;let CopyPasteController=(xr=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",z=>this.handleCopy(z))),this._register(addDisposableListener(L,"cut",z=>this.handleCopy(z))),this._register(addDisposableListener(L,"paste",z=>this.handlePaste(z),!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}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$2(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),z={multicursorText:Array.isArray(k)?k:null,pasteOnNewLine:y,mode:null},V=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(he=>!!he.prepareDocumentPaste);if(!V.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:z});return}const j=toVSDataTransfer(e.clipboardData),ie=V.flatMap(he=>{var pe;return(pe=he.copyMimeTypes)!=null?pe:[]}),oe=generateUuid();this.setCopyMetadata(e.clipboardData,{id:oe,providerCopyMimeTypes:ie,defaultPastePayload:z});const re=createCancelablePromise(async he=>{const pe=coalesce(await Promise.all(V.map(async _e=>{try{return await _e.prepareDocumentPaste(t,g,j,he)}catch(Ce){console.error(Ce);return}})));pe.reverse();for(const _e of pe)for(const[Ce,xe]of _e)j.replace(Ce,xe);return j});(ue=CopyPasteController_1._currentCopyOperation)==null||ue.dataTransferPromise.cancel(),CopyPasteController_1._currentCopyOperation={handle:oe,dataTransferPromise:re}}async handlePaste(e){var L,z,V,j;if(!e.clipboardData||!this._editor.hasTextFocus())return;(L=MessageController.get(this._editor))==null||L.closeMessage(),(z=this._currentPasteOperation)==null||z.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(e.clipboardData);g.delete(vscodeClipboardMime);const y=[...e.clipboardData.types,...(V=r==null?void 0:r.providerCopyMimeTypes)!=null?V:[],Mimes.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(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.get(this._editor))==null||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=this._editor;if(!y.hasModel())return;const k=new EditorStateCancellationTokenSource(y,3,void 0),L=createCancelablePromise(async z=>{const V=this._editor;if(!V.hasModel())return;const j=V.getModel(),ie=new DisposableStore,oe=ie.add(new CancellationTokenSource$1(z));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)return this.applyDefaultPasteHandler(i,r,re,g);const le={triggerKind:DocumentPasteTriggerKind.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)return this.applyDefaultPasteHandler(i,r,re,g);if(de.edits.length){const ue=V.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:de.edits},ue,(he,pe)=>new Promise((_e,Ce)=>{(async()=>{var xe,Ie;try{const Ne=(Ie=(xe=he.provider).resolveDocumentPasteEdit)==null?void 0:Ie.call(xe,he,pe),$e=new DeferredPromise,Oe=Ne&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),localize("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([$e.p,Ne]),{cancel:()=>($e.cancel(),Ce(new CancellationError))},0);return Oe&&(he.additionalEdit=Oe.additionalEdit),_e(he)}catch(Ne){return Ce(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("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(async k=>{const L=this._editor;if(!L.hasModel())return;const z=L.getModel(),V=new DisposableStore,j=V.add(new EditorStateCancellationTokenSource(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.PasteAs,only:e&&e instanceof HierarchicalKind?e:void 0};let re=V.add(await this.getPasteEdits(ie,r,z,i,oe,j.token));if(j.token.isCancellationRequested)return;if(e&&(re={edits:re.edits.filter(de=>e instanceof HierarchicalKind?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("pasteAsPickerPlaceholder","Select Paste Action")});ae=de==null?void 0:de.edit}if(!ae)return;const le=createCombinedWorkspaceEdit(z.uri,i,ae);await this._bulkEditService.apply(le,{editor:this._editor})}finally{V.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 g;if(!e.clipboardData)return;const t=e.clipboardData.getData(vscodeClipboardMime);if(t)try{return JSON.parse(t)}catch(y){return}const[i,r]=ClipboardEventUtils.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._currentCopyOperation)==null?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=new DisposableStore,L=await raceCancellation(Promise.all(e.map(async V=>{var j,ie;try{const oe=await((j=V.provideDocumentPasteEdits)==null?void 0:j.call(V,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:V}))}catch(oe){isCancellationError(oe)||console.error(oe);return}})),y),z=coalesce(L!=null?L:[]).flat().filter(V=>!g.only||g.only.contains(V.kind));return{edits:sortEditsByYieldTo(z),dispose:()=>k.dispose()}}async applyDefaultPasteHandler(e,t,i,r){var L,z,V,j;const g=(L=e.get(Mimes.text))!=null?L:e.get("text"),y=(z=await(g==null?void 0:g.asString()))!=null?z:"";if(i.isCancellationRequested)return;const k={clipboardEvent:r,text:y,pasteOnNewLine:(V=t==null?void 0:t.defaultPastePayload.pasteOnNewLine)!=null?V:!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?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},CopyPasteController_1=xr,xr.ID="editor.contrib.copyPasteActionController",xr);CopyPasteController=CopyPasteController_1=__decorate$1B([__param$1x(1,IInstantiationService),__param$1x(2,IBulkEditService),__param$1x(3,IClipboardService),__param$1x(4,ILanguageFeaturesService),__param$1x(5,IQuickInputService),__param$1x(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({key:"miCut",comment:["&& denotes a mnemonic"]},"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({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&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.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({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&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 g,y;const t=n.get(ICodeEditorService),i=n.get(IClipboardService),r=t.getFocusedCodeEditor();return r&&r.hasTextFocus()?r.getContainerDomNode().ownerDocument.execCommand("paste")?(y=(g=CopyPasteController.get(r))==null?void 0:g.finishedPaste())!=null?y:Promise.resolve():isWeb?(async()=>{const L=await i.readText();if(L!==""){const z=InMemoryClipboardMetadataManager.INSTANCE.get(L);let V=!1,j=null,ie=null;z&&(V=r.getOption(37)&&!!z.isFromEmptySelection,j=typeof z.multicursorText<"u"?z.multicursorText:null,ie=z.mode),r.trigger("keyboard","paste",{text:L,pasteOnNewLine:V,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.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 ae;const y=i.filter||{},k={...y,excludes:[...y.excludes||[],CodeActionKind.Notebook]},L={only:(ae=y.include)==null?void 0:ae.value,trigger:i.type},z=new TextModelCancellationTokenSource(e,g),V=i.type===2,j=getCodeActionProviders(n,e,V?k:y),ie=new DisposableStore,oe=j.map(async le=>{try{r.report(le);const de=await le.provideCodeActions(e,t,L,z.token);if(de&&ie.add(de),z.token.isCancellationRequested)return emptyCodeActionsResponse;const ue=((de==null?void 0:de.actions)||[]).filter(pe=>pe&&filtersAction(y,pe)),he=getDocumentationFromProvider(le,ue,y.include);return{actions:ue.map(pe=>new CodeActionItem(pe,le)),documentation:he}}catch(de){if(isCancellationError(de))throw de;return onUnexpectedExternalError(de),emptyCodeActionsResponse}}),re=n.onDidChange(()=>{const le=n.all(e);equals$2(le,j)||z.cancel()});try{const le=await Promise.all(oe),de=le.map(he=>he.actions).flat(),ue=[...coalesce(le.map(he=>he.documentation)),...getAdditionalDocumentationForShowingActions(n,e,i,de)];return new ManagedCodeActionSet(de,ue,ie)}finally{re.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*(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(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 z;const g=n.get(IBulkEditService),y=n.get(ICommandService),k=n.get(ITelemetryService),L=n.get(INotificationService);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&&!((z=e.action.edit)!=null&&z.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.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(V){const j=asMessage(V);L.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,z=await getCodeActions(g,y,k,{type:1,triggerAction:CodeActionTriggerSource.Default,filter:{includeSourceActions:!0,include:L}},Progress$1.None,CancellationToken.None),V=[],j=Math.min(z.validActions.length,typeof r=="number"?r:0);for(let ie=0;ieie.action)}finally{setTimeout(()=>z.dispose(),100)}});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)}},CodeActionKeybindingResolver_1,kr;let CodeActionKeybindingResolver=(kr=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_1=kr,kr.codeActionCommands=[refactorCommandId,codeActionCommandId,sourceActionCommandId,organizeImportsCommandId,fixAllCommandId],kr);CodeActionKeybindingResolver=CodeActionKeybindingResolver_1=__decorate$1A([__param$1w(0,IKeybindingService)],CodeActionKeybindingResolver);registerColor("symbolIcon.arrayForeground",foreground,localize("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.booleanForeground",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",foreground,localize("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.constantForeground",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",foreground,localize("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.folderForeground",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",foreground,localize("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.keywordForeground",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",foreground,localize("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.namespaceForeground",foreground,localize("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.nullForeground",foreground,localize("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.numberForeground",foreground,localize("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.objectForeground",foreground,localize("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.operatorForeground",foreground,localize("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.packageForeground",foreground,localize("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.propertyForeground",foreground,localize("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.referenceForeground",foreground,localize("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.snippetForeground",foreground,localize("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.stringForeground",foreground,localize("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.structForeground",foreground,localize("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.textForeground",foreground,localize("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.typeParameterForeground",foreground,localize("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.unitForeground",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.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$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)}},LightBulbWidget_1;const GUTTER_LIGHTBULB_ICON=registerIcon("gutter-lightbulb",Codicon.lightBulb,localize("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),GUTTER_LIGHTBULB_AUTO_FIX_ICON=registerIcon("gutter-lightbulb-auto-fix",Codicon.lightbulbAutofix,localize("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("gutter-lightbulb-sparkle",Codicon.lightbulbSparkle,localize("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("gutter-lightbulb-aifix-auto-fix",Codicon.lightbulbSparkleAutofix,localize("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("gutter-lightbulb-sparkle-filled",Codicon.sparkleFilled,localize("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;(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={}));var No;let LightBulbWidget=(No=class extends Disposable{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Emitter$1),this.onClick=this._onClick.event,this._state=LightBulbState.Hidden,this._gutterState=LightBulbState.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.GUTTER_DECORATION,this._domNode=$$f("div.lightBulbWidget"),this._domNode.role="listbox",this._register(Gesture.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(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:r,height:g}=getDomNodePagePosition(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$1.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,r,g,y;this._preferredKbLabel=(r=(i=this._keybindingService.lookupKeybinding(autoFixCommandId))==null?void 0:i.getLabel())!=null?r:void 0,this._quickFixKbLabel=(y=(g=this._keybindingService.lookupKeybinding(quickFixCommandId))==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(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=_e=>_e>2&&this._editor.getTopForLineNumber(_e)===this._editor.getTopForLineNumber(_e-1),ae=this._editor.getLineDecorations(k);let le=!1;if(ae)for(const _e of ae){const Ce=_e.options.glyphMarginClassName;if(Ce&&!this.lightbulbClasses.some(xe=>Ce.includes(xe))){le=!0;break}}let de=k,ue=1;if(!oe){const _e=Ce=>{const xe=y.getLineContent(Ce);return/^\s*$|^\s+/.test(xe)||xe.length<=ue};if(k>1&&!re(k-1)){const Ce=y.getLineCount(),xe=k===Ce,Ie=k>1&&_e(k-1),Ne=!xe&&_e(k+1),$e=_e(k),Oe=!Ne&&!Ie;if(!Ne&&!Ie&&!le)return this.gutterState=new LightBulbState.Showing(e,t,i,{position:{lineNumber:de,column:ue},preference:LightBulbWidget_1._posPref}),this.renderGutterLightbub(),this.hide();Ie||xe||Ie&&!$e?de-=1:(Ne||Oe&&$e)&&(de+=1)}else if(k===1&&(k===y.getLineCount()||!_e(k+1)&&!_e(k)))if(this.gutterState=new LightBulbState.Showing(e,t,i,{position:{lineNumber:de,column:ue},preference:LightBulbWidget_1._posPref}),le)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(k{this._gutterDecorationID=t.addDecoration(new Range$2(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$2(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=localize("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=localize("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=localize("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=localize("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},LightBulbWidget_1=No,No.GUTTER_DECORATION=ModelDecorationOptions.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:ThemeIcon.asClassName(Codicon.lightBulb),glyphMargin:{position:GlyphMarginLane.Left},stickiness:1}),No.ID="editor.contrib.lightbulbWidget",No._posPref=[0],No);LightBulbWidget=LightBulbWidget_1=__decorate$1z([__param$1v(1,IKeybindingService)],LightBulbWidget);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)}};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?void 0:r.title)!=null?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 y,k,L;if((y=e.group)!=null&&y.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 r=(k=this._keybindingService.lookupKeybinding(acceptSelectedActionCommand))==null?void 0:k.getLabel(),g=(L=this._keybindingService.lookupKeybinding(previewSelectedActionCommand))==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({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({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=__decorate$1y([__param$1u(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 z=L.label?stripNewlines(L==null?void 0:L.label):"";return L.disabled&&(z=localize({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",z,L.disabled)),z}return null},getWidgetAriaLabel:()=>localize({key:"customQuickFixWidget",comment:["An action widget option"]},"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((z,V)=>{const j=this.domNode.ownerDocument.getElementById(this._list.getElementID(V));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 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=__decorate$1y([__param$1u(4,IContextViewService),__param$1u(5,IKeybindingService)],ActionList);function stripNewlines(n){return n.replace(/\r\n|\r|\n/g," ")}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)}};registerColor("actionBar.toggledBackground",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),z=this._instantiationService.createInstance(ActionList,e,t,i,r);this._contextViewService.showContextView({getAnchor:()=>g,render:V=>(L.set(!0),this._renderWidget(V,z,k!=null?k:[])),onHide:V=>{L.reset(),this._onWidgetClosed(V)}},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,y=document.createElement("div"),k=e.appendChild(y);k.classList.add("context-view-block"),g.add(addDisposableListener(k,EventType$1.MOUSE_DOWN,re=>re.stopPropagation()));const L=document.createElement("div"),z=e.appendChild(L);z.classList.add("context-view-pointerBlock"),g.add(addDisposableListener(z,EventType$1.POINTER_MOVE,()=>z.remove())),g.add(addDisposableListener(z,EventType$1.MOUSE_DOWN,()=>z.remove()));let V=0;if(i.length){const re=this._createActionBar(".action-widget-action-bar",i);re&&(r.appendChild(re.getContainer().parentElement),g.add(re),V=re.getContainer().offsetWidth)}const j=(oe=this._list.value)==null?void 0:oe.layout(V);r.style.width="".concat(j,"px");const ie=g.add(trackFocus(e));return g.add(ie.onDidBlur(()=>this.hide(!0))),g}_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.hide(e)}};ActionWidgetService=__decorate$1x([__param$1t(0,IContextViewService),__param$1t(1,IContextKeyService),__param$1t(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(!0)}});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$1(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,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),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(L=>{L.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(CodeActionsState.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.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(this._editor,this._markerService,i=>{var L;if(!i){this.setState(CodeActionsState.Empty);return}const r=i.selection.getStartPosition(),g=createCancelablePromise(async z=>{var V,j,ie,oe,re,ae,le,de,ue,he;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===CodeActionTriggerSource.QuickFix||(j=(V=i.trigger.filter)==null?void 0:V.include)!=null&&j.contains(CodeActionKind.QuickFix))){const pe=await getCodeActions(this._registry,e,i.selection,i.trigger,Progress$1.None,z),_e=[...pe.allActions];if(z.isCancellationRequested)return emptyCodeActionSet;const Ce=(ie=pe.validActions)==null?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(Ce){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))&&(Ie.action.diagnostics=[...xe.filter(Ne=>Ne.relatedInformation)]);return{validActions:pe.validActions,allActions:_e,documentation:pe.documentation,hasAutoFix:pe.hasAutoFix,hasAIFix:pe.hasAIFix,allAIFixes:pe.allAIFixes,dispose:()=>{pe.dispose()}}}else if(!Ce&&xe.length>0){const Ie=i.selection.getPosition();let Ne=Ie,$e=Number.MAX_VALUE;const Oe=[...pe.validActions];for(const Et of xe){const ze=Et.endColumn,qe=Et.endLineNumber,Ve=Et.startLineNumber;if(qe===Ie.lineNumber||Ve===Ie.lineNumber){Ne=new Position$1(qe,ze);const kt={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.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((de=i.trigger.context)==null?void 0:de.notAvailableMessage)||"",position:Ne}},Ue=new Selection$1(Ne.lineNumber,Ne.column,Ne.lineNumber,Ne.column),Dt=await getCodeActions(this._registry,e,Ue,kt,Progress$1.None,z);if(Dt.validActions.length!==0){for(const jt of Dt.validActions)(he=(ue=jt.action.command)==null?void 0:ue.arguments)!=null&&he.some(ei=>typeof ei=="string"&&ei.includes(APPLY_FIX_ALL_COMMAND_ID))&&(jt.action.diagnostics=[...xe.filter(ei=>ei.relatedInformation)]);pe.allActions.length===0&&_e.push(...Dt.allActions),Math.abs(Ie.column-ze)<$e?Oe.unshift(...Dt.validActions):Oe.push(...Dt.validActions)}$e=Math.abs(Ie.column-ze)}}const Fe=Oe.filter((Et,ze,qe)=>qe.findIndex(Ve=>Ve.action.title===Et.action.title)===ze);return Fe.sort((Et,ze)=>Et.action.isPreferred&&!ze.action.isPreferred?-1:!Et.action.isPreferred&&ze.action.isPreferred||Et.action.isAI&&!ze.action.isAI?1:!Et.action.isAI&&ze.action.isAI?-1:0),{validActions:Fe,allActions:_e,documentation:pe.documentation,hasAutoFix:pe.hasAutoFix,hasAIFix:pe.hasAIFix,allAIFixes:pe.allAIFixes,dispose:()=>{pe.dispose()}}}}if(i.trigger.type===1){const pe=new StopWatch,_e=await getCodeActions(this._registry,e,i.selection,i.trigger,Progress$1.None,z);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:_e.validActions.length,duration:pe.elapsed()}),_e}return getCodeActions(this._registry,e,i.selection,i.trigger,Progress$1.None,z)});i.trigger.type===1&&((L=this._progressService)==null||L.showWhile(g,250));const y=new CodeActionsState.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.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$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)}},CodeActionController_1;const DECORATION_CLASS_NAME$1="quickfix-edit-highlight";var Vo;let CodeActionController=(Vo=class extends Disposable{static get(e){return e.getContribution(CodeActionController_1.ID)}constructor(e,t,i,r,g,y,k,L,z,V,j){super(),this._commandService=k,this._configurationService=L,this._actionWidgetService=z,this._instantiationService=V,this._telemetryService=j,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._telemetryService)),this._register(this._model.onDidChangeState(ie=>this.update(ie))),this._lightBulbWidget=new Lazy(()=>{const ie=this._editor.getContribution(LightBulbWidget.ID);return ie&&this._register(ie.onClick(oe=>this.showCodeActionsFromLightbulb(oe.actions,oe))),ie}),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 y;if(!this._editor.hasModel())return;(y=MessageController.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,e,r,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:CodeActionTriggerSource.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(z){onUnexpectedError(z);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 V=this.tryGetValidActionToApply(e.trigger,t);if(V){try{this.hideLightBulbWidget(),await this._applyCodeAction(V,!1,!1,ApplyCodeActionReason.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const j=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(j&&j.action.disabled){(y=MessageController.get(this._editor))==null||y.showMessage(j.action.disabled,e.trigger.context.position),t.dispose();return}}}const z=!!((k=e.trigger.filter)!=null&&k.include);if(e.trigger.context&&(!t.allActions.length||!z&&!t.validActions.length)){(L=MessageController.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:z,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$1.isIPosition(t)?this.toCoords(t):t,L={onSelect:async(z,V)=>{this._applyCodeAction(z,!0,!!V,i.fromLightbulb?ApplyCodeActionReason.FromAILightbulb:ApplyCodeActionReason.FromCodeActions),this._actionWidgetService.hide(!1),r.clear()},onHide:z=>{var V;(V=this._editor)==null||V.focus(),r.clear()},onHover:async(z,V)=>{var oe;if(V.isCancellationRequested)return;let j=!1;const ie=z.action.kind;if(ie){const re=new HierarchicalKind(ie);j=[CodeActionKind.RefactorExtract,CodeActionKind.RefactorInline,CodeActionKind.RefactorRewrite,CodeActionKind.RefactorMove,CodeActionKind.Source].some(le=>le.contains(re))}return{canPreview:j||!!((oe=z.action.edit)!=null&&oe.edits.length)}},onFocus:z=>{var V,j;if(z&&z.action){const ie=z.action.ranges,oe=z.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=(V=this._editor.getModel())==null?void 0:V.getWordAtPosition({lineNumber:ae.startLineNumber,column:ae.startColumn}))==null?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 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("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_1=Vo,Vo.ID="editor.contrib.codeActionController",Vo.DECORATION=ModelDecorationOptions.register({description:"quickfix-highlight",className:DECORATION_CLASS_NAME$1}),Vo);CodeActionController=CodeActionController_1=__decorate$1w([__param$1s(1,IMarkerService),__param$1s(2,IContextKeyService),__param$1s(3,IInstantiationService),__param$1s(4,ILanguageFeaturesService),__param$1s(5,IEditorProgressService),__param$1s(6,ICommandService),__param$1s(7,IConfigurationService),__param$1s(8,IActionWidgetService),__param$1s(9,IInstantiationService),__param$1s(10,ITelemetryService)],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}}});Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:localize("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});class 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 z=await Promise.resolve(k.provideCodeLenses(e,t));z&&g.add(z,k)}catch(z){onUnexpectedExternalError(z)}});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 z=[];for(const V of L.lenses)i==null||V.symbol.command?y.push(V.symbol):i-- >0&&V.provider.resolveCodeLens&&z.push(Promise.resolve(V.provider.resolveCodeLens(g,V.symbol,CancellationToken.None)).then(j=>y.push(j||V.symbol)));return Promise.all(z)}).then(()=>y).finally(()=>{setTimeout(()=>k.dispose(),100)})});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 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);const g=Event$1.filter(e.onWillSaveState,y=>y.reason===WillSaveStateReason.SHUTDOWN);Event$1.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;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$1v([__param$1r(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")}}const ra=class ra{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-".concat(ra._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{z.symbol.command&&L.push(z.symbol),i.addDecoration({range:z.symbol.range,options:codeLensDecorationOptions},j=>this._decorationIds[V]=j),k?k=Range$2.plusRange(k,z.symbol.range):k=Range$2.lift(z.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$1q=function(n,e){return function(t,i){e(t,i,n)}},Ds;let CodeLensContribution=(Ds=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.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.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(()=>{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 g;const r=Date.now();(g=this._getCodeLensModelPromise)==null||g.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()-r);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(V=>{!V.isValid()||L===V.getLineNumber()?k.push(V):(V.update(y),L=V.getLineNumber())});const z=new CodeLensHelper;k.forEach(V=>{V.dispose(z,y),this._lenses.splice(this._lenses.indexOf(V),1)}),z.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(()=>{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 z=new CodeLensHelper;let V=0,j=0;for(;jthis._resolveCodeLensesInViewportSoon())),V++,j++)}for(;Vthis._resolveCodeLensesInViewportSoon())),j++;z.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(k=>{const L=t.map((z,V)=>{const j=new Array(z.length),ie=z.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):(j[re]=oe.symbol,Promise.resolve(void 0)));return Promise.all(ie).then(()=>{!k.isCancellationRequested&&!i[V].isDisposed()&&i[V].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(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}},Ds.ID="css.editor.codeLens",Ds);CodeLensContribution=__decorate$1u([__param$1q(1,ILanguageFeaturesService),__param$1q(2,ILanguageFeatureDebounceService),__param$1q(3,ICommandService),__param$1q(4,INotificationService),__param$1q(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 z=[];for(const ie of L.lenses)ie.symbol.command&&ie.symbol.range.startLineNumber===y&&z.push({label:ie.symbol.command.title,command:ie.symbol.command});if(z.length===0)return;const V=await i.pick(z,{canPickMany:!1,placeHolder:localize("placeHolder","Select a command")});if(!V)return;let j=V.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$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 DefaultDocumentColorProvider=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$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),z=y?Color$1.Format.CSS.formatHSL(k):Color$1.Format.CSS.formatHSLA(k),V=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:z,textEdit:{range:r,text:z}}),j.push({label:V,textEdit:{range:r,text:V}}),j}};DefaultDocumentColorProvider=__decorate$1t([__param$1p(0,IEditorWorkerService)],DefaultDocumentColorProvider);let DefaultDocumentColorProviderFeature=class extends Disposable{constructor(e,t){super(),this._register(e.colorProvider.register("*",new DefaultDocumentColorProvider(t)))}};DefaultDocumentColorProviderFeature=__decorate$1t([__param$1p(0,ILanguageFeaturesService),__param$1p(1,IEditorWorkerService)],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 z=L.length-1;z>=0;z--){const V=L[z];if(V instanceof DefaultDocumentColorProvider)y=V;else try{await n.compute(V,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),[z,V,j,ie]=t;return _findColorData(new ColorPresentationsCollector({range:g,color:{red:z,green:V,blue:j,alpha:ie}}),k,y,CancellationToken.None,L)});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)}},ColorDetector_1;const ColorDecorationInjectedTextMarker=Object.create({});var Ho;let ColorDetector=(Ho=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(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,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_1=Ho,Ho.ID="editor.contrib.colorDetector",Ho.RECOMPUTE_TIME=1e3,Ho);ColorDetector=ColorDetector_1=__decorate$1s([__param$1o(1,IConfigurationService),__param$1o(2,ILanguageFeaturesService),__param$1o(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$2(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),append$2(this._button,t),append$2(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$2(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$2(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",append$2(this._domNode,this._canvas),this.selection=$$6(".saturation-selection"),append$2(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$2(e,$$6(".standalone-strip")),this.overlay=append$2(this.domNode,$$6(".standalone-overlay"))):(this.domNode=append$2(e,$$6(".strip")),this.overlay=append$2(this.domNode,$$6(".overlay"))),this.slider=append$2(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$2(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$2(e)).onDidChange(()=>this.layout())),this._domNode=$$6(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new ColorPickerHeader(this._domNode,this.model,r,g)),this.body=this._register(new ColorPickerBody(this._domNode,this.model,this.pixelRatio,g))}layout(){this.body.layout()}get domNode(){return this._domNode}}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}}class RenderedHoverParts{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const HoverParticipantRegistry=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};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)}};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){const i=renderHoverParts(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=__decorate$1r([__param$1n(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,z=k!=null?k:t,V=!!y;return{colorHover:await _createColorHover(this,this._editor.getModel(),L,z),foundInEditor:V}}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$1r([__param$1n(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,z=new RGBA$1(Math.round(g*255),Math.round(y*255),Math.round(k*255),L),V=new Color$1(z),j=await getColorPresentations(e,t,i,CancellationToken.None),ie=new ColorPickerModel(V,[],0);return ie.colorPresentations=j||[],ie.guessColorPresentation(V,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;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,z=g.add(new ColorPickerWidget(r.fragment,L,e.getOption(144),t,n instanceof StandaloneColorPickerParticipant));let V=!1,j=new Range$2(y.range.startLineNumber,y.range.startColumn,y.range.endLineNumber,y.range.endColumn);if(n instanceof StandaloneColorPickerParticipant){const ie=y.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),V=!0,j=_updateEditorModel(e,j,L)}));return g.add(L.onDidChangeColor(ie=>{_updateColorPresentations(k,L,ie,j,y)})),g.add(e.onDidChangeModelContent(ie=>{V?V=!1:(r.hide(),e.focus())})),{hoverPart:y,colorPicker:z,disposables:g}}function _updateEditorModel(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$2.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(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||[]}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({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({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),inlineSuggestCommitId="editor.action.inlineSuggest.commit",showPreviousInlineSuggestionActionId="editor.action.inlineSuggest.showPrevious",showNextInlineSuggestionActionId="editor.action.inlineSuggest.showNext";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)}},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,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=derived(this,r=>{var L,z,V;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$1(g.lineNumber,Math.min(y,(V=(z=this.sessionPosition)==null?void 0:z.column)!=null?V:Number.MAX_SAFE_INTEGER));return this.sessionPosition=k,k}),this._register(autorunWithStore((r,g)=>{const y=this.model.read(r);if(!y||!this.alwaysShowToolbar.read(r))return;const k=derivedWithStore((z,V)=>{const j=V.add(this.instantiationService.createInstance(InlineSuggestionHintsContentWidget,this.editor,!0,this.position,y.selectedInlineCompletionIndex,y.inlineCompletionsCount,y.activeCommands));return e.addContentWidget(j),V.add(toDisposable(()=>e.removeContentWidget(j))),V.add(autorun(ie=>{this.position.read(ie)&&y.lastTriggerKind.read(ie)!==InlineCompletionTriggerKind$1.Explicit&&y.triggerExplicitly()})),j}),L=derivedObservableWithCache(this,(z,V)=>!!this.position.read(z)||!!V);g.add(autorun(z=>{L.read(z)&&k.read(z)}))}))}};InlineCompletionsHintsWidget=__decorate$1q([__param$1m(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."));var Wo;let InlineSuggestionHintsContentWidget=(Wo=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({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,z,V,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=z,this._contextKeyService=V,this._menuService=j,this.id="InlineSuggestionHintsContentWidget".concat(InlineSuggestionHintsContentWidget_1.id++),this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h$1("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[h$1("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.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$1,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 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&&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_1=Wo,Wo._dropDownVisible=!1,Wo.id=0,Wo);InlineSuggestionHintsContentWidget=InlineSuggestionHintsContentWidget_1=__decorate$1q([__param$1m(6,ICommandService),__param$1m(7,IInstantiationService),__param$1m(8,IKeybindingService),__param$1m(9,IContextKeyService),__param$1m(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$1=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$1("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,z){super(e,{resetMenu:t,...i},r,g,y,k,L,z),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,z;const e=[],t=[];createAndFillInActionBarActions(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,(z=(L=this.options2)==null?void 0:L.toolbarOptions)==null?void 0:z.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){equals$2(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){equals$2(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar$1=__decorate$1q([__param$1m(3,IMenuService),__param$1m(4,IContextKeyService),__param$1m(5,IContextMenuService),__param$1m(6,IKeybindingService),__param$1m(7,ICommandService),__param$1m(8,ITelemetryService)],CustomizedMenuWorkbenchToolBar$1);function isMousePositionWithinElement(n,e,t){const i=getDomNodePagePosition(n);return!(ei.left+i.width||ti.top+i.height)}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 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.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 L,z;const i=Math.min((L=this._availableVerticalSpaceBelow(t))!=null?L:1/0,e),r=Math.min((z=this._availableVerticalSpaceAbove(t))!=null?z: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$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)}},ContentHoverWidget_1;const HORIZONTAL_SCROLLING_BY=30,CONTAINER_HEIGHT_PADDING=6;var Uo;let ContentHoverWidget=(Uo=class extends ResizableContentWidget{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(k,y);super(e,L),this._configurationService=i,this._accessibilityService=r,this._keybindingService=g,this._hover=this._register(new HoverWidget$1),this._onDidResize=this._register(new Emitter$1),this.onDidResize=this._onDidResize.event,this._minimumSize=L,this._hoverVisibleKey=EditorContextKeys.hoverVisible.bindTo(t),this._hoverFocusedKey=EditorContextKeys.hoverFocused.bindTo(t),append$2(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(V=>{V.hasChanged(50)&&this._updateFont()}));const z=this._register(trackFocus(this._resizableNode.domNode));this._register(z.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(z.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.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()}_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(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){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),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;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._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ContentHoverWidget_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(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(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/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(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 r;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=getTotalHeight(e),i=getTotalWidth(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=getTotalHeight(e),i=getTotalWidth(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(r=this._renderedHover)!=null&&r.showAtPosition){const g=getTotalHeight(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})}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_1=Uo,Uo.ID="editor.contrib.resizableContentHoverWidget",Uo._lastDimensions=new Dimension(0,0),Uo);ContentHoverWidget=ContentHoverWidget_1=__decorate$1p([__param$1l(1,IContextKeyService),__param$1l(2,IConfigurationService),__param$1l(3,IAccessibilityService),__param$1l(4,IKeybindingService)],ContentHoverWidget);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),z=Math.max(Math.abs(e-k)-g/2,0);return Math.sqrt(L*L+z*z)}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)}}class HoverResult{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(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)}}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 $$5=$$f;let EditorHoverStatusBar=class extends Disposable{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=$$5("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=append$2(this.hoverElement,$$5("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const r=this._register(HoverAction.render(this.actionsElement,e,i));return this.actions.push(r),r}append(e){const t=append$2(this.actionsElement,e);return this._hasContent=!0,t}};EditorHoverStatusBar=__decorate$1o([__param$1k(0,IKeybindingService)],EditorHoverStatusBar);class HoverProviderResult{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function executeProvider(n,e,t,i,r){const g=await Promise.resolve(n.provideHover(t,i,r)).catch(onUnexpectedExternalError);if(!(!g||!isValid(g)))return new HoverProviderResult(n,g,e)}function getHoverProviderResultsAsAsyncIterable(n,e,t,i,r=!1){const y=n.ordered(e,r).map((k,L)=>executeProvider(k,L,e,t,i));return AsyncIterableObject.fromPromises(y).coalesce()}function getHoversPromise(n,e,t,i,r=!1){return getHoverProviderResultsAsAsyncIterable(n,e,t,i,r).map(g=>g.hover).toPromise()}registerModelAndPositionCommand("_executeHoverProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService);return getHoversPromise(i.hoverProvider,e,t,CancellationToken.None)});registerModelAndPositionCommand("_executeHoverProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService);return getHoversPromise(i.hoverProvider,e,t,CancellationToken.None,!0)});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$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)}};const $$4=$$f,increaseHoverVerbosityIcon=registerIcon("hover-increase-verbosity",Codicon.add,localize("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),decreaseHoverVerbosityIcon=registerIcon("hover-decrease-verbosity",Codicon.remove,localize("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class MarkdownHover{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=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(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),z=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),V=this._editor.getOption(118),j=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:z});let ie=!1;V>=0&&L>V&&e.range.startColumn>=V&&(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(),g=this._languageFeaturesService.hoverProvider;return g.has(r)?this._getMarkdownHovers(g,r,e,i):AsyncIterableObject.EMPTY}_getMarkdownHovers(e,t,i,r){const g=i.range.getStartPosition();return getHoverProviderResultsAsAsyncIterable(e,t,g,r).filter(L=>!isEmptyMarkdownString(L.hover.contents)).map(L=>{const z=L.hover.range?Range$2.lift(L.hover.range):i.range,V=new HoverSource(L.hover,L.provider,g);return new MarkdownHover(this,z,L.hover.contents,!1,L.ordinal,V)})}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=__decorate$1n([__param$1j(1,ILanguageService),__param$1j(2,IOpenerService),__param$1j(3,IConfigurationService),__param$1j(4,ILanguageFeaturesService),__param$1j(5,IKeybindingService),__param$1j(6,IHoverService),__param$1j(7,ICommandService)],MarkdownHoverParticipant);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,z,V,j){this._hoverParticipant=i,this._editor=r,this._languageService=g,this._openerService=y,this._commandService=k,this._keybindingService=L,this._hoverService=z,this._configurationService=V,this._onFinishedRendering=j,this._ongoingHoverOperations=new Map,this._disposables=new DisposableStore,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(toDisposable(()=>{this.renderedHoverParts.forEach(ie=>{ie.dispose()}),this._ongoingHoverOperations.forEach(ie=>{ie.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(compareBy(r=>r.ordinal,numberComparator)),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;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 z=$$4("div.verbosity-actions");return r.prepend(z),y.add(this._renderHoverExpansionAction(z,HoverVerbosityAction$1.Increase,k)),y.add(this._renderHoverExpansionAction(z,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,g=t===HoverVerbosityAction$1.Increase,y=append$2(e,$$4(ThemeIcon.asCSSSelector(g?increaseHoverVerbosityIcon:decreaseHoverVerbosityIcon)));y.tabIndex=0;const k=new WorkbenchHoverDelegate("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),z=g.hoverPart,V=new MarkdownHover(this._hoverParticipant,z.range,k.contents,z.isBeforeContent,z.ordinal,L),j=this._renderHoverPart(V,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,j,V),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:V,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$1;this._ongoingHoverOperations.set(g,{verbosityDelta:r,tokenSource:k});const L={verbosityRequest:{verbosityDelta:r,previousHover:e.hover}};let z;try{z=await Promise.resolve(g.provideHover(t,e.hoverPosition,k.token,L))}catch(V){onUnexpectedExternalError(V)}return k.dispose(),this._ongoingHoverOperations.delete(g),z}_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(n,e,t,i,r){e.sort(compareBy(y=>y.ordinal,numberComparator));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,y=$$4("div.hover-row"),k=$$4("div.hover-row-contents");y.appendChild(k);const L=e.contents;for(const V of L){if(isEmptyMarkdownString(V))continue;const j=$$4("div.markdown-hover"),ie=append$2(j,$$4("div.hover-contents")),oe=g.add(new MarkdownRenderer({editor:n},t,i));g.add(oe.onDidRenderAsync(()=>{ie.className="hover-contents code-hover-contents",r()}));const re=g.add(oe.render(V));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("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):localize("increaseVerbosity","Increase Hover Verbosity")}case HoverVerbosityAction$1.Decrease:{const t=n.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID);return t?localize("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):localize("decreaseVerbosity","Decrease Hover Verbosity")}}}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: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()}}class InlayHintAnchor{constructor(e,t){this.range=e,this.direction=t}}class InlayHintItem{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new InlayHintItem(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(g),this._isResolved=!1}}}const Ss=class Ss{static async create(e,t,i,r){const g=[],y=e.ordered(t).reverse().map(k=>i.map(async L=>{try{const z=await k.provideInlayHints(t,L,r);(z!=null&&z.hints.length||k.onDidChangeInlayHints)&&g.push([z!=null?z:Ss._emptyInlayHintList,k])}catch(z){onUnexpectedExternalError(z)}}));if(await Promise.all(y.flat()),r.isCancellationRequested||t.isDisposed())throw new CancellationError;return new Ss(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 z="before";const V=Ss._getRangeAtPosition(i,L);let j;V.getStartPosition().isBefore(L)?(j=Range$2.fromPositions(V.getStartPosition(),L),z="after"):(j=Range$2.fromPositions(L,V.getEndPosition()),z="before"),r.push(new InlayHintItem(k,new InlayHintAnchor(j,z),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),z=g.getEndOffset(k);return z-L===1&&(L===y&&k>1?(L=g.getStartOffset(k-1),z=g.getEndOffset(k-1)):z===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$1i=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,z,V,j,ie,oe){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},i,g,y,k,L,z,V,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$1m([__param$1i(4,IInstantiationService),__param$1i(5,ICodeEditorService),__param$1i(6,ICommandService),__param$1i(7,IContextKeyService),__param$1i(8,IThemeService),__param$1i(9,INotificationService),__param$1i(10,IAccessibilityService),__param$1i(11,ILanguageConfigurationService),__param$1i(12,ILanguageFeaturesService)],EmbeddedCodeEditorWidget);const defaultColor=new Color$1(new RGBA$1(0,122,204)),defaultOptions$3={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}}const cl=class cl{constructor(e){this._editor=e,this._ruleName=cl._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()}};cl._IdGenerator=new IdGenerator(".arrow-decoration-");let Arrow=cl;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$3,!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.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.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,z=0;if(this._arrow&&this.options.showArrow&&(L=Math.round(k/3),this._arrow.height=L,this._arrow.show(i)),this.options.showFrame&&(z=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:z;this.container.style.borderTopWidth=ie+"px",this.container.style.borderBottomWidth=ie+"px"}const V=t*k-this._decoratingElementsHeight();this.container&&(this.container.style.top=L+"px",this.container.style.height=V+"px",this.container.style.overflow="hidden"),this._doLayout(V,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$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)}};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={}));var Ns;let PeekContextController=(Ns=class{constructor(e,t){e instanceof EmbeddedCodeEditorWidget&&PeekContext.inPeekEditor.bindTo(t)}dispose(){}},Ns.ID="editor.contrib.referenceController",Ns);PeekContextController=__decorate$1l([__param$1h(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$2={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$2,!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$2(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$$f("span.filename"),this._secondaryHeading=$$f("span.dirname"),this._metaHeading=$$f("span.meta"),append$2(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=$$f(".peekview-actions");append$2(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$2(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$1l([__param$1h(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",peekViewEditorBackground,localize("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));registerColor("peekViewEditorStickyScroll.background",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: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({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(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}),z=new Range$2(r,L.startColumn,r,g),V=new Range$2(y,k,y,1073741824),j=i.getValueInRange(z).replace(/^\s+/,""),ie=i.getValueInRange(e),oe=i.getValueInRange(V).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$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)}},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$1k([__param$1g(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?void 0:t.preview(e.range);if(i)return i.value}return basename(e.uri)}};StringRepresentationProvider=__decorate$1k([__param$1g(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$2(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$1k([__param$1g(1,ILabelService)],FileReferencesTemplate);var Tr;let FileReferencesRenderer=(Tr=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_1=Tr,Tr.id="FileReferencesRenderer",Tr);FileReferencesRenderer=FileReferencesRenderer_1=__decorate$1k([__param$1g(0,IInstantiationService)],FileReferencesRenderer);class OneReferenceTemplate extends Disposable{constructor(e){super(),this.label=this._register(new HighlightedLabel(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(e.uri),":").concat(e.range.startLineNumber+1,":").concat(e.range.startColumn+1));else{const{value:g,highlight:y}=i;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]))}}}const dl=class dl{constructor(){this.templateId=dl.id}renderTemplate(e){return new OneReferenceTemplate(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};dl.id="OneReferenceRenderer";let OneReferenceRenderer=dl;class AccessibilityProvider{getWidgetAriaLabel(){return localize("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}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)}};const ul=class ul{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._disposables.add(this._tree.onDidOpen(g=>{g.sideBySide?r(g.element,"side"):g.editorOptions.pinned?r(g.element,"goto"):r(g.element,"show")})),hide$2(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$2(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$1j([__param$1f(3,IThemeService),__param$1f(4,ITextModelService),__param$1f(5,IInstantiationService),__param$1f(6,IPeekViewService),__param$1f(7,ILabelService),__param$1f(8,IKeybindingService)],ReferenceWidget);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)}},ReferencesController_1;const ctxReferenceSearchVisible=new RawContextKey("referenceSearchVisible",!1,localize("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Ir;let ReferencesController=(Ir=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.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.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.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(L=>{const{element:z,kind:V}=L;if(z)switch(V){case"open":(L.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(z,!1,!1);break;case"side":this.openReference(z,!0,!1);break;case"goto":i?this._gotoReference(z,!0):this.openReference(z,!1,!0);break}}));const k=++this._requestIdPool;t.then(L=>{var z;if(k!==this._requestIdPool||!this._widget){L.dispose();return}return(z=this._model)==null||z.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 V=this._editor.getModel().uri,j=new Position$1(e.startLineNumber,e.startColumn),ie=this._model.nearestReference(V,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$2.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.get(g),L=this._model.clone();this.closeWidget(),g.focus(),k==null||k.toggleWidget(i,createCancelablePromise(z=>Promise.resolve(L)),(y=this._peekMode)!=null?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_1=Ir,Ir.ID="editor.contrib.referencesController",Ir);ReferencesController=ReferencesController_1=__decorate$1i([__param$1e(2,IContextKeyService),__param$1e(3,ICodeEditorService),__param$1e(4,INotificationService),__param$1e(5,IInstantiationService),__param$1e(6,IStorageService),__param$1e(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 i;const t=(i=n.get(IListService).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof OneReference&&withController(n,r=>r.revealReference(t[0]))}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(n){var i;const t=(i=n.get(IListService).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof OneReference&&withController(n,r=>r.openReference(t[0],!0,!0))}});CommandsRegistry.registerCommand("openReference",n=>{var i;const t=(i=n.get(IListService).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof OneReference&&withController(n,r=>r.openReference(t[0],!1,!0))});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)}};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.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(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 z=!1,V=!1;for(const j of t.references)if(isEqual$1(j.uri,k.uri))z=!0,V=V||Range$2.containsPosition(j.range,L);else if(z)break;(!z||!V)&&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 i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?localize("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):localize("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};SymbolNavigationService=__decorate$1h([__param$1d(0,IContextKeyService),__param$1d(1,ICodeEditorService),__param$1d(2,INotificationService),__param$1d(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.dispose(),this._listener.delete(e)}};EditorState=__decorate$1h([__param$1d(0,ICodeEditorService)],EditorState);function shouldIncludeLocationLink(n,e){return e.uri.scheme===n.uri.scheme?!0:!matchesSomeScheme(e.uri,Schemas.walkThroughSnippet,Schemas.vscodeChatCodeBlock,Schemas.vscodeChatCodeCompareBlock)}async function getLocationLinks(n,e,t,i,r){const y=t.ordered(n,i).map(L=>Promise.resolve(r(L,n,e)).then(void 0,z=>{onUnexpectedExternalError(z)})),k=await Promise.all(y);return coalesce(k.flat()).filter(L=>shouldIncludeLocationLink(n,L))}function getDefinitionsAtPosition(n,e,t,i,r){return getLocationLinks(e,t,n,i,(g,y,k)=>g.provideDefinition(y,k,r))}function getDeclarationsAtPosition(n,e,t,i,r){return getLocationLinks(e,t,n,i,(g,y,k)=>g.provideDeclaration(y,k,r))}function getImplementationsAtPosition(n,e,t,i,r){return getLocationLinks(e,t,n,i,(g,y,k)=>g.provideImplementation(y,k,r))}function getTypeDefinitionsAtPosition(n,e,t,i,r){return getLocationLinks(e,t,n,i,(g,y,k)=>g.provideTypeDefinition(y,k,r))}function getReferencesAtPosition(n,e,t,i,r,g){return getLocationLinks(e,t,n,r,async(y,k,L)=>{var j,ie;const z=(j=await y.provideReferences(k,L,{includeDeclaration:!0},g))==null?void 0:j.filter(oe=>shouldIncludeLocationLink(k,oe));if(!i||!z||z.length!==2)return z;const V=(ie=await y.provideReferences(k,L,{includeDeclaration:!1},g))==null?void 0:ie.filter(oe=>shouldIncludeLocationLink(k,oe));return V&&V.length===1?V:z})}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,!1,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeDefinitionProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getDefinitionsAtPosition(i.definitionProvider,e,t,!0,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeTypeDefinitionProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getTypeDefinitionsAtPosition(i.typeDefinitionProvider,e,t,!1,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeTypeDefinitionProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getTypeDefinitionsAtPosition(i.typeDefinitionProvider,e,t,!0,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeDeclarationProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getDeclarationsAtPosition(i.declarationProvider,e,t,!1,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeDeclarationProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getDeclarationsAtPosition(i.declarationProvider,e,t,!0,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeReferenceProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getReferencesAtPosition(i.referenceProvider,e,t,!1,!1,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeReferenceProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getReferencesAtPosition(i.referenceProvider,e,t,!1,!0,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeImplementationProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getImplementationsAtPosition(i.implementationProvider,e,t,!1,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeImplementationProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getImplementationsAtPosition(i.implementationProvider,e,t,!0,CancellationToken.None);return _sortedAndDeduped(()=>r)});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}}const eo=class eo extends EditorAction2{static all(){return eo._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(eo._patchConfig(t)),this.configuration=e,eo._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),z=e.get(ILanguageFeaturesService),V=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(z,oe.model,oe.position,re.token),re.token).then(async le=>{var he;if(!le||re.token.isCancellationRequested)return;alert(le.ariaMessage);let de;if(le.referenceAt(j.uri,ie)){const pe=this._getAlternativeCommand(t);!eo._activeAlternativeCommands.has(pe)&&eo._allSymbolNavigationCommands.has(pe)&&(de=eo._allSymbolNavigationCommands.get(pe))}const ue=le.references.length;if(ue===0){if(!this.configuration.muteMessage){const pe=j.getWordAtPosition(ie);(he=MessageController.get(t))==null||he.showMessage(this._getNoResultFoundMessage(pe),ie)}}else if(ue===1&&de)eo._activeAlternativeCommands.add(this.desc.id),V.invokeFunction(pe=>de.runEditorCommand(pe,t,i,r).finally(()=>{eo._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",z=await this._openReference(i,e,k,this.configuration.openToSide,!L);L&&z?this._openInPeek(z,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(),z=k.createDecorationsCollection([{range:y,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{k.getModel()===L&&z.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()}};eo._allSymbolNavigationCommands=new Map,eo._activeAlternativeCommands=new Set;let SymbolNavigationAction=eo;class DefinitionAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getDefinitionsAtPosition(e.definitionProvider,t,i,!1,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}}var Ko;registerAction2((Ko=class extends DefinitionAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ko.id,title:{...localize2("actions.goToDecl.label","Go to Definition"),mnemonicTitle:localize({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"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",Ko.id)}},Ko.id="editor.action.revealDefinition",Ko));var jo;registerAction2((jo=class extends DefinitionAction{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:jo.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",jo.id)}},jo.id="editor.action.revealDefinitionAside",jo));var Go;registerAction2((Go=class extends DefinitionAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Go.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",Go.id)}},Go.id="editor.action.peekDefinition",Go));class DeclarationAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getDeclarationsAtPosition(e.declarationProvider,t,i,!1,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}}var Lr;registerAction2((Lr=class extends DeclarationAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Lr.id,title:{...localize2("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:localize({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"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")}},Lr.id="editor.action.revealDeclaration",Lr));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,!1,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}}var Dr;registerAction2((Dr=class extends TypeDefinitionAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Dr.ID,title:{...localize2("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:localize({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"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}]})}},Dr.ID="editor.action.goToTypeDefinition",Dr));var Nr;registerAction2((Nr=class extends TypeDefinitionAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Nr.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}})}},Nr.ID="editor.action.peekTypeDefinition",Nr));class ImplementationAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getImplementationsAtPosition(e.implementationProvider,t,i,!1,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}}var Rr;registerAction2((Rr=class extends ImplementationAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Rr.ID,title:{...localize2("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:localize({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"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}]})}},Rr.ID="editor.action.goToImplementation",Rr));var $r;registerAction2(($r=class extends ImplementationAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:$r.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}})}},$r.ID="editor.action.peekImplementation",$r));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({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"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,!1,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,!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: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(z=>{const V=new class extends GenericGoToLocationAction{_getNoResultFoundMessage(j){return g||super._getNoResultFoundMessage(j)}}({muteMessage:!g,openInPeek:!!y,openToSide:!1},i,r);z.get(IInstantiationService).invokeFunction(V.run.bind(V),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(z=>getReferencesAtPosition(i.referenceProvider,g.getModel(),Position$1.lift(t),!1,!1,z).then(V=>new ReferencesModel(V,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");async function showGoToContextMenu(n,e,t,i){var oe;const r=n.get(ITextModelService),g=n.get(IContextMenuService),y=n.get(ICommandService),k=n.get(IInstantiationService),L=n.get(INotificationService);if(await i.item.resolve(CancellationToken.None),!i.part.location)return;const z=i.part.location,V=[],j=new Set(MenuRegistry.getMenuItems(MenuId.EditorContext).map(re=>isIMenuItem(re)?re.command.id:generateUuid()));for(const re of SymbolNavigationAction.all())j.has(re.desc.id)&&V.push(new Action(re.desc.id,MenuItemAction.label(re.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const ae=await r.createModelReference(z.uri);try{const le=new SymbolNavigationAnchor(ae.object.textEditorModel,Range$2.getStartPosition(z.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;V.push(new Separator),V.push(new Action(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.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(t);return{x:re.left,y:re.top+re.height+8}},getActions:()=>V,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),z=PeekContext.inPeekEditor.getValue(L),V=!k&&t.getOption(89)&&!z;return new DefinitionAction({openToSide:k,openInPeek:V,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$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)}},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}}var Ro;let InlayHintsController=(Ro=class{static get(e){var t;return(t=e.getContribution(InlayHintsController_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,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(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.getInstance().event(z=>{if(!this._editor.hasModel())return;const V=z.altKey&&z.ctrlKey&&!(z.shiftKey||z.metaKey)?L:k;if(V!==this._activeRenderMode){this._activeRenderMode=V;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 z=r.token,V=await InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),z);if(y.delay=this._debounceInfo.update(t,Date.now()-k),z.isCancellationRequested){V.dispose();return}for(const j of V.provider)typeof j.onDidChangeInlayHints=="function"&&!g.has(j)&&(g.add(j),this._sessionDisposables.add(j.onDidChangeInlayHints(()=>{y.isScheduled()||y.schedule()})));this._sessionDisposables.add(V),this._updateHintsDecorators(V.ranges,V.items),this._cacheHintsForFastRestore(t)}catch(z){onUnexpectedError(z)}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 z=k.validatePosition(y.item.hint.position).lineNumber,V=new Range$2(z,1,z,k.getLineMaxColumn(z)),j=this._getInlineHintsForRange(V);this._updateHintsDecorators([V],j),i.add(toDisposable(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([V],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(!isHTMLElement$1(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(showGoToContextMenu,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&&(t==null?void 0:t.attachedData)instanceof RenderedInlayHintLabelPart)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.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 re,ae;const i=[],r=(le,de,ue,he,pe)=>{const _e={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?_e:void 0}}})},g=(le,de)=>{const ue=this._ruleFactory.createClassNameRef({width:"".concat(y/3|0,"px"),display:"inline-block"});r(le,ue," ",de?InjectedTextCursorStops.Right:InjectedTextCursorStops.None)},{fontSize:y,fontFamily:k,padding:L,isUniform:z}=this._getLayoutInfo(),V="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(V,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._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(Ce),fixSpace(xe),_e&&!le.hint.paddingRight?InjectedTextCursorStops.Right:InjectedTextCursorStops.None,new RenderedInlayHintLabelPart(le,ue)),Ie)break}if(le.hint.paddingRight&&g(le,!0),i.length>InlayHintsController_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.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=Ro,Ro.ID="editor.contrib.InlayHints",Ro._MAX_DECORATORS=1500,Ro._MAX_LABEL_LEN=43,Ro);InlayHintsController=InlayHintsController_1=__decorate$1g([__param$1c(1,ILanguageFeaturesService),__param$1c(2,ILanguageFeatureDebounceService),__param$1c(3,IInlayHintsCache),__param$1c(4,ICommandService),__param$1c(5,INotificationService),__param$1c(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$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)}};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,k,L,z){super(e,t,i,y,L,r,g,z),this._resolverService=k,this.hoverOrdinal=6}suggestHoverAnchor(e){var r;if(!InlayHintsController.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&&i.attachedData instanceof RenderedInlayHintLabelPart?new InlayHintsHoverAnchor(i.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 z;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?z=new MarkdownString().appendText(localize("hint.defAndCommand","Go to Definition ({0}), right click for more",j)):g.part.location?z=new MarkdownString().appendText(localize("hint.def","Go to Definition ({0})",j)):g.part.command&&(z=new MarkdownString("[".concat(localize("hint.cmd","Execute Command"),"](").concat(asCommandLink(g.part.command),' "').concat(g.part.command.title,'") (').concat(j,")"),{isTrusted:!0})),z&&r.emitOne(new MarkdownHover(this,e.range,[z],!1,1e4))}const L=await this._resolveInlayHintLabelPartHover(g,i);for await(const z of L)r.emitOne(z)}):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)?getHoverProviderResultsAsAsyncIterable(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$1f([__param$1b(1,ILanguageService),__param$1b(2,IOpenerService),__param$1b(3,IKeybindingService),__param$1b(4,IHoverService),__param$1b(5,IConfigurationService),__param$1b(6,ITextModelService),__param$1b(7,ILanguageFeaturesService),__param$1b(8,ICommandService)],InlayHintsHover);class RenderedContentHover extends Disposable{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:z,showAtSecondaryPosition:V}=RenderedContentHover.computeHoverPositions(e,k.range,L);this.shouldAppearBeforeContent=L.some(j=>j.isBeforeContent),this.showAtPosition=z,this.showAtSecondaryPosition=V,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 V=e._getViewModel(),j=V.coordinatesConverter,ie=j.convertModelRangeToViewRange(t),oe=V.getLineMinColumn(ie.startLineNumber),re=new Position$1(ie.startLineNumber,oe);r=j.convertViewPositionToModelPosition(re).column}const g=t.startLineNumber;let y=t.startColumn,k;for(const V of i){const j=V.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)}V.forceShowAtRange&&(k=j)}let L,z;if(k){const V=k.getStartPosition();L=V,z=V}else L=t.getStartPosition(),z=new Position$1(g,y);return{showAtPosition:L,showAtSecondaryPosition:z}}}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 hl=class hl extends Disposable{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.None;let i=t[0].range;for(const g of t){const y=g.range;i=Range$2.plusRange(i,y)}const r=e.createDecorationsCollection();return r.set([{range:i,options:hl._DECORATION_OPTIONS}]),toDisposable(()=>{r.clear()})}_renderParts(e,t,i,r){const g=new EditorHoverStatusBar(r),y={fragment:this._fragment,statusBar:g,...i},k=new DisposableStore;for(const z of e){const V=this._renderHoverPartsForParticipant(t,z,y);k.add(V);for(const j of V.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:z,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(()=>{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;return this._renderedParts.forEach((t,i)=>{const r=t.hoverElement;r.tabIndex=0,e.add(addDisposableListener(r,EventType$1.FOCUS_IN,g=>{g.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(addDisposableListener(r,EventType$1.FOCUS_OUT,g=>{g.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof MarkdownHoverParticipant&&!(i instanceof InlayHintsHover));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof ColorHoverParticipant)}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;return t-g}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};hl._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"content-hover-highlight",className:"hoverHighlight"});let RenderedContentHoverParts=hl;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 ContentHoverWidgetWrapper=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Emitter$1),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(ContentHoverWidget,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new ContentHoverComputer(this._editor,this._participants),this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of HoverParticipantRegistry.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(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(addStandardDisposableListener(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(addStandardDisposableListener(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(TokenizationRegistry.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(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(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$1e([__param$1a(1,IInstantiationService),__param$1a(2,IKeybindingService)],ContentHoverWidgetWrapper);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)}},ContentHoverController_1,Ar;let ContentHoverController=(Ar=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Emitter$1),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new DisposableStore,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler(()=>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.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 z,V;const k=this._isMouseOnContentHoverWidget(y),L=(V=(z=this._contentWidget)==null?void 0:z.isColorPickerVisible)!=null?V:!1;return k&&L},g=(y,k)=>{var L,z,V,j,ie;return(ie=k&&((z=this._contentWidget)==null?void 0:z.containsNode((L=y.event.browserEvent.view)==null?void 0:L.document.activeElement))&&!((j=(V=y.event.browserEvent.view)==null?void 0:V.getSelection())!=null&&j.isCollapsed))!=null?ie:!1};return i(e,t)||r(e)||g(e,t)}_onEditorMouseMove(e){var k,L,z,V;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&&((z=this._contentWidget)!=null&&z.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const r=this._hoverSettings.hidingDelay;if(((V=this._contentWidget)==null?void 0:V.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.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=Ar,Ar.ID="editor.contrib.contentHover",Ar);ContentHoverController=ContentHoverController_1=__decorate$1d([__param$19(1,IInstantiationService),__param$19(2,IKeybindingService)],ContentHoverController);const ic=class ic 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(149);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(ContentHoverController.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)}}};ic.ID="editor.contrib.colorContribution";let ColorContribution=ic;registerEditorContribution(ColorContribution.ID,ColorContribution,2);HoverParticipantRegistry.register(ColorHoverParticipant);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)}},StandaloneColorPickerController_1,StandaloneColorPickerWidget_1,Mr;let StandaloneColorPickerController=(Mr=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,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.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(StandaloneColorPickerWidget,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.ID)}},StandaloneColorPickerController_1=Mr,Mr.ID="editor.contrib.standaloneColorPickerController",Mr);StandaloneColorPickerController=StandaloneColorPickerController_1=__decorate$1c([__param$18(1,IContextKeyService),__param$18(2,IInstantiationService)],StandaloneColorPickerController);registerEditorContribution(StandaloneColorPickerController.ID,StandaloneColorPickerController,1);const PADDING=8,CLOSE_BUTTON_WIDTH=22;var Pr;let StandaloneColorPickerWidget=(Pr=class extends Disposable{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$1),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(StandaloneColorPickerParticipant,this._editor),this._position=(j=this._editor._getViewModel())==null?void 0:j.getPrimaryCursorState().modelState.position;const L=this._editor.getSelection(),z=L?{startLineNumber:L.startLineNumber,startColumn:L.startColumn,endLineNumber:L.endLineNumber,endColumn:L.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},V=this._register(trackFocus(this._body));this._register(V.onDidBlur(ie=>{this.hide()})),this._register(V.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(z),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._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(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,z=L.saturationBox.domNode.clientWidth,V=L.domNode.clientWidth-z-CLOSE_BUTTON_WIDTH-PADDING,j=k.body.enterButton;j==null||j.onClicked(()=>{this.updateEditor(),this.hide()});const ie=k.header,oe=ie.pickedColorNode;oe.style.width=z+PADDING+"px";const re=ie.originalColorNode;re.style.width=V+"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=Pr,Pr.ID="editor.contrib.standaloneColorPickerWidget",Pr);StandaloneColorPickerWidget=StandaloneColorPickerWidget_1=__decorate$1c([__param$18(3,IInstantiationService),__param$18(4,IKeybindingService),__param$18(5,ILanguageFeaturesService),__param$18(6,IEditorWorkerService)],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({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:MenuId.CommandPalette}],metadata:{description:localize2("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.get(t))==null||i.showOrFocus()}}class HideStandaloneColorPicker extends EditorAction{constructor(){super({id:"editor.action.hideColorPicker",label:localize({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:EditorContextKeys.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:localize2("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=StandaloneColorPickerController.get(t))==null||i.hide()}}class InsertColorWithStandaloneColorPicker extends EditorAction{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:localize({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.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:localize2("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=StandaloneColorPickerController.get(t))==null||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,z=e.endLineNumber,V=e.endColumn,j=g.getLineContent(k),ie=g.getLineContent(z);let oe=j.lastIndexOf(t,L-1+t.length),re=ie.indexOf(i,V-1-i.length);if(oe!==-1&&re!==-1)if(k===z)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,z,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 z=0,V=i-t+1;zg?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((V,j)=>({selection:V,index:j,ignoreFirstLine:!1}));L.sort((V,j)=>Range$2.compareRangesUsingStarts(V.selection,j.selection));let z=L[0];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$17=function(n,e){return function(t,i){e(t,i,n)}},ContextMenuController_1,Or;let ContextMenuController=(Or=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(z=>this._onContextMenu(z))),this._toDispose.add(this._editor.onMouseWheel(z=>{if(this._contextMenuIsBeingShownCount>0){const V=this._contextViewService.getContextViewElement(),j=z.srcElement;j.shadowRoot&&getShadowRoot$2(V)===j.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(z=>{this._editor.getOption(24)&&z.keyCode===58&&(z.preventDefault(),z.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){const z=this._getMenuActions(e,L.item.submenu);z.length>0&&(i.push(new SubmenuAction(L.id,L.label,z)),k++)}else i.push(L),k++;k&&i.push(new Separator)}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(this._editor.getDomNode()),z=L.left+k.left,V=L.top+k.top+k.height;r={x:z,y:V}}const g=this._editor.getOption(128)&&!isIOS$1;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(k,k,{label:!0,keybinding:L.getLabel(),isMenu:!0});const z=k;return typeof z.getActionViewItem=="function"?z.getActionViewItem():new ActionViewItem(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(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const r=z=>({id:"menu-action-".concat(++i),label:z.label,tooltip:"",class:void 0,enabled:typeof z.enabled>"u"?!0:z.enabled,checked:z.checked,run:z.run}),g=(z,V)=>new SubmenuAction("menu-action-".concat(++i),z,V,void 0),y=(z,V,j,ie,oe)=>{if(!V)return r({label:z,enabled:V,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(z,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(128)&&!isIOS$1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:L?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>k,onHide:z=>{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=Or,Or.ID="editor.contrib.contextmenu",Or);ContextMenuController=ContextMenuController_1=__decorate$1b([__param$17(1,IContextMenuService),__param$17(2,IContextViewService),__param$17(3,IContextKeyService),__param$17(4,IKeybindingService),__param$17(5,IMenuService),__param$17(6,IConfigurationService),__param$17(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.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}};fl.ID="editor.contrib.cursorUndoRedoController";let CursorUndoRedoController=fl;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.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.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===Oo.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(Oo.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:Oo._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()}};Oo.ID="editor.contrib.dragAndDrop",Oo.TRIGGER_KEY_VALUE=isMacintosh?6:5,Oo._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"dnd-target",className:"dnd-target"});let DragAndDropController=Oo;registerEditorContribution(DragAndDropController.ID,DragAndDropController,2);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?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.clearWidgets()}});var Br;registerEditorAction((Br=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:Br.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.get(t))==null?void 0:g.pasteAs(r?new HierarchicalKind(r):void 0)}},Br.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.")}}},Br));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?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$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)}},DropIntoEditorController_1;const defaultProviderConfig="editor.experimental.dropIntoEditor.defaultProvider",changeDropTypeCommandId="editor.changeDropType",dropWidgetVisibleCtx=new RawContextKey("dropWidgetVisible",!1,localize("dropWidgetVisible","Whether the drop widget is showing"));var Fr;let DropIntoEditorController=(Fr=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 g;if(!i.dataTransfer||!e.hasModel())return;(g=this._currentOperation)==null||g.cancel(),e.focus(),e.setPosition(t);const r=createCancelablePromise(async y=>{const k=new DisposableStore,L=k.add(new EditorStateCancellationTokenSource(e,1,void 0,y));try{const z=await this.extractDataTransferData(i);if(z.size===0||L.token.isCancellationRequested)return;const V=e.getModel();if(!V)return;const j=this._languageFeaturesService.documentDropEditProvider.ordered(V).filter(oe=>oe.dropMimeTypes?oe.dropMimeTypes.some(re=>z.matches(re)):!0),ie=k.add(await this.getDropEdits(j,V,t,z,L));if(L.token.isCancellationRequested)return;if(ie.edits.length){const oe=this.getInitialActiveEditIndex(V,ie.edits),re=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([Range$2.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("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,k=await raceCancellation(Promise.all(e.map(async z=>{try{const V=await z.provideDocumentDropEdits(t,i,r,g.token);return V&&y.add(V),V==null?void 0:V.edits.map(j=>({...j,providerId:z.id}))}catch(V){console.error(V)}})),g.token),L=coalesce(k!=null?k:[]).flat();return{edits:sortEditsByYieldTo(L),dispose:()=>y.dispose()}}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_1=Fr,Fr.ID="editor.contrib.dropIntoEditorController",Fr);DropIntoEditorController=DropIntoEditorController_1=__decorate$1a([__param$16(1,IInstantiationService),__param$16(2,IConfigurationService),__param$16(3,ILanguageFeaturesService),__param$16(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.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.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"}}}});const Bn=class Bn{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,Bn._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,r.changeDecorationOptions(this._highlightedDecorationId,Bn._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,Bn._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let r=Bn._FIND_MATCH_DECORATION;const g=[];if(e.length>1e3){r=Bn._FIND_MATCH_NO_OVERVIEW_DECORATION;const k=this._editor.getModel().getLineCount(),z=this._editor.getLayoutInfo().height/k,V=Math.max(2,Math.ceil(3/z));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:Bn._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),j=ae.startLineNumber,ie=ae.endLineNumber)}g.push({range:new Range$2(j,1,ie,1),options:Bn._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,Bn._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=[],z=y.caseOps.length;let V=0;for(let j=0,ie=k.length;j=z){L.push(k.slice(j));break}switch(y.caseOps[V]){case"U":L.push(k[j].toUpperCase());break;case"u":L.push(k[j].toUpperCase()),V++;break;case"L":L.push(k[j].toLowerCase());break;case"l":L.push(k[j].toLowerCase()),V++;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(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 V=this._decorations.matchAfterPosition(e);V&&this._setCurrentFindMatch(V);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(132):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(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 z=this._state.preserveCase;k.hasReplacementPatterns||z?L=g.replace(i,function(){return k.buildReplaceString(arguments,z)}):L=g.replace(i,k.buildReplaceString(null,z));const V=new ReplaceCommandThatPreservesSelection(y,L,this._editor.getSelection());this._executeEditorCommand("replaceAll",V)}_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 gl.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")}};gl.ID="editor.contrib.findOptionsWidget";let FindOptionsWidget=gl;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 V;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,z=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"&&((V=e.searchScope)!=null&&V.every(j=>{var ie;return(ie=this._searchScope)==null?void 0:ie.some(oe=>!Range$2.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),z!==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}}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: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,z=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:z,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 V=[this.preserveCase.domNode];this.onkeydown(this.domNode,ie=>{if(ie.equals(15)||ie.equals(17)||ie.equals(9)){const oe=V.indexOf(this.domNode.ownerDocument.activeElement);if(oe>=0){let re=-1;ie.equals(17)?re=(oe+1)%V.length:ie.equals(15)&&(oe===0?re=V.length-1:re=oe-1),ie.equals(9)?(V[oe].blur(),this.inputBox.focus()):re>=0&&V[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.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}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 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$19([__param$15(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$19([__param$15(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?void 0:e.getElectronAccelerator())==="Up"&&((t=n.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const 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.")),findSelectionIcon=registerIcon("find-selection",Codicon.selection,localize("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),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(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(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.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(j=>{if(j.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return pl.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(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(){var t;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="",(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&&(i+="+");let r=String(this._state.matchesPosition);r==="0"&&(r="?"),e=format$1(NLS_MATCHES_LOCATION,r,i)}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(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(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 z=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(z?z.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:V=>{if(V.length===0||!this._findInput.getRegex())return null;try{return new RegExp(V,"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(V=>this._onFindInputKeyDown(V))),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(V=>{V.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),V.preventDefault())})),this._register(this._findInput.onRegexKeyDown(V=>{V.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),V.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(V=>{this._tryUpdateHeight()&&this._showViewZone()})),isLinux&&this._register(this._findInput.onMouseDown(V=>this._onFindInputMouseDown(V))),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._hoverService)),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)}},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({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 V=this._codeEditor.getSelections();V=V.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),V.length&&this._state.change({searchScope:V},!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:V=>{V.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),V.preventDefault())}},this._hoverService)),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(V=>this._onReplaceInputKeyDown(V))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(V=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(V=>{V.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(),V.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:V=>{V.equals(1026)&&(this._closeBtn.focus(),V.preventDefault())}},this._hoverService)),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()}},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({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._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,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 z=FIND_WIDGET_INITIAL_WIDTH;this._register(this._resizeSash.onDidStart(()=>{z=getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(V=>{this._resized=!0;const j=z+V.startX-V.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 V=getTotalWidth(this._domNode);if(V{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.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,"; }"));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$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)}},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(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.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.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_1=zr,zr.ID="editor.contrib.findController",zr);CommonFindController=CommonFindController_1=__decorate$18([__param$14(1,IContextKeyService),__param$14(2,IStorageService),__param$14(3,IClipboardService),__param$14(4,INotificationService),__param$14(5,IHoverService)],CommonFindController);let FindController=class extends CommonFindController{constructor(e,t,i,r,g,y,k,L,z){super(e,i,k,L,y,z),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._hoverService)),this._findOptionsWidget=this._register(new FindOptionsWidget(this._editor,this._state,this._keybindingService))}};FindController=__decorate$18([__param$14(1,IContextViewService),__param$14(2,IContextKeyService),__param$14(3,IKeybindingService),__param$14(4,IThemeService),__param$14(5,INotificationService),__param$14(6,IStorageService),__param$14(7,IClipboardService),__param$14(8,IHoverService)],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({key:"miFind",comment:["&& denotes a mnemonic"]},"&&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 y=e.get(IQuickInputService),k=new DisposableStore,L=k.add(y.createInputBox());L.placeholder=localize("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",g);const z=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},V=j=>{const ie=z(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("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount),this.clearDecorations(t)};k.add(L.onDidChangeValue(j=>{V(j)})),k.add(L.onDidAccept(()=>{const j=z(L.value);typeof j=="number"?(r.goToMatch(j),L.hide()):L.validationMessage=localize("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(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({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));StartFindReplaceAction.addImplementation(0,(n,e,t)=>{if(!e.hasModel()||e.getOption(92))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(le)?ue=>ueue=j.startLineNumber))V&&V.startLineNumber===j.startLineNumber?(j.source===1?le=j:(le=V,le.isCollapsed=j.isCollapsed&&(V.endLineNumber===j.endLineNumber||!(r!=null&&r.startsInside(V.startLineNumber+1,V.endLineNumber+1))),le.source=0),V=y(++L)):(le=j,j.isCollapsed&&j.source===0&&(le.source=2)),j=k(++z);else{let de=z,ue=j;for(;;){if(!ue||ue.startLineNumber>V.endLineNumber){le=V;break}if(ue.source===1&&ue.endLineNumber>V.endLineNumber)break;ue=k(++de)}V=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}}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=z),r++}};for(const L of e){const z=L.regionIndex,V=this._editorDecorationIds[z];if(V&&!t[V]){t[V]=!0,k(z);const j=!this._regions.isCollapsed(z);this._regions.setCollapsed(z,j),g=Math.max(g,this._regions.getEndLineNumber(z))}}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.sanitizeAndMerge(this._regions,t,i);this.updatePost(FoldingRegions.fromFoldRanges(r))}_getLinesChecksum(e,t){return hash$3(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&&!z.containedBy(y[y.length-1]);)y.pop();y.push(z),t(z,y.length)&&i.push(z)}else break}}else for(let y=r,k=this._regions.length;y1){const k=n.getRegionsInside(g,(L,z)=>L.isCollapsed!==y&&z0)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,z)=>L.isCollapsed!==e&&zy.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+=z}}const g=e.getOptions().tabSize,y=new Uint32Array(t),k=new Uint32Array(t);for(let L=this._length-1,z=0;L>=0;L--){const V=this._startIndexes[L],j=e.getLineContent(V),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 z=n.getLineCount();z>0;z--){const V=n.getLineContent(z),j=computeIndentLevel(V,r);let ie=k[k.length-1];if(j===-1){e&&(ie.endAbove=z);continue}let oe;if(y&&(oe=V.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(z,ie.line,j),ie.line=z,ie.indent=j,ie.endAbove=z;continue}}else{k.push({indent:-2,endAbove:z,line:z});continue}if(ie.indent>j){do k.pop(),ie=k[k.length-1];while(ie.indent>j);const re=ie.endAbove-1;re-z>=1&&g.insertFirst(z,re,j)}ie.indent===j?ie.endAbove=z:k.push({indent:j,endAbove:z,line:z})}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("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},localize("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));registerColor("editorGutter.foldingControlForeground",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."),Rn=class Rn{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Rn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Rn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Rn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Rn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Rn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Rn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Rn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Rn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Rn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Rn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Rn.MANUALLY_EXPANDED_VISUAL_DECORATION:Rn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Rn.COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)}),Rn.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)}),Rn.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)}),Rn.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)}),Rn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed}),Rn.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}),Rn.EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingExpandedIcon),linesDecorationsTooltip:expanded}),Rn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon.asClassName(foldingExpandedIcon),linesDecorationsTooltip:expanded}),Rn.MANUALLY_EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingManualExpandedIcon),linesDecorationsTooltip:expanded}),Rn.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}),Rn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Rn.HIDDEN_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-hidden-range-decoration",stickiness:1});let FoldingDecorationProvider=Rn;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?void 0:i.compute(e))!=null?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 z of k)z.start>0&&z.end>z.start&&z.end<=L&&i.push({start:z.start,end:z.end,rank:y,kind:z.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$17=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<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)}},FoldingController_1;const CONTEXT_FOLDING_ENABLED=new RawContextKey("foldingEnabled",!1);var Vr;let FoldingController=(Vr=class extends Disposable{static get(e){return e.getContribution(FoldingController_1.ID)}static getFoldingRangeProviders(e,t){var r,g;const i=e.foldingRangeProvider.ordered(t);return(g=(r=FoldingController_1._foldingRangeSelector)==null?void 0:r.call(FoldingController_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),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(111),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(111)||L.hasChanged(45)){const z=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=z.get(111),this.foldingDecorationProvider.showFoldingHighlights=z.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.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(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.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();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(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 z=[];if(L){const V=ie=>!ie.containedBy(y)&&!y.containedBy(ie),j=t.getRegionsInside(null,V);for(const ie of j)ie.isCollapsed&&z.push(ie);z.length===0&&(z=j)}else{const V=e.event.middleButton||e.event.shiftKey;if(V)for(const j of t.getRegionsInside(y))j.isCollapsed===k&&z.push(j);(k||!V||z.length===0)&&z.push(y)}t.toggleCollapseState(z),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},FoldingController_1=Vr,Vr.ID="editor.contrib.folding",Vr);FoldingController=FoldingController_1=__decorate$17([__param$13(1,IContextKeyService),__param$13(2,ILanguageConfigurationService),__param$13(3,INotificationService),__param$13(4,ILanguageFeatureDebounceService),__param$13(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 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(n){if(!isUndefined$4(n)){if(!isObject$6(n))return!1;const e=n;if(!isUndefined$4(e.levels)&&!isNumber$5(e.levels)||!isUndefined$4(e.direction)&&!isString$4(e.direction)||!isUndefined$4(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(isNumber$5)))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 ToggleFoldRecursivelyAction extends FoldingAction{constructor(){super({id:"editor.toggleFoldRecursively",label:localize("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,3114),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);toggleCollapseState(t,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)}}const ws=class ws extends FoldingAction{getFoldingLevel(){return parseInt(this.id.substr(ws.ID_PREFIX.length))}invoke(e,t,i){setCollapseStateAtLevel(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};ws.ID_PREFIX="editor.foldLevel",ws.ID=e=>ws.ID_PREFIX+e;let FoldLevelAction=ws;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 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,z)=>L.startLineNumber-z.startLineNumber);const k=FoldingRegions.sanitizeAndMerge(t.regions,r,(y=i.getModel())==null?void 0:y.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(ToggleFoldRecursivelyAction);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)=>{}},z=new IndentRangeProvider(r,y,L);let V=z;if(k!=="indentation"){const oe=FoldingController.getFoldingRangeProviders(i,r);oe.length&&(V=new SyntaxRangeProvider(r,oe,()=>{},L,z))}const j=await V.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$12=function(n,e){return function(t,i){e(t,i,n)}},Rs;let FormatOnType=(Rs=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()})}},Rs.ID="editor.contrib.autoFormat",Rs);FormatOnType=__decorate$16([__param$12(1,ILanguageFeaturesService),__param$12(2,IEditorWorkerService),__param$12(3,IAccessibilitySignalService)],FormatOnType);var $s;let FormatOnPaste=($s=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))}},$s.ID="editor.contrib.formatOnPaste",$s);FormatOnPaste=__decorate$16([__param$12(1,ILanguageFeaturesService),__param$12(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$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)}};class TreeElement{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}}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((z,V)=>{var oe;const j=TreeElement.findId("provider_".concat(V),g),ie=new OutlineGroup(j,g,(oe=z.displayName)!=null?oe:"Unknown Outline Provider",V);return Promise.resolve(z.provideDocumentSymbols(t,r.token)).then(re=>{for(const ae of re||[])OutlineModel._makeOutlineElement(ae,ie);return ie},re=>(onUnexpectedExternalError(re),ie)).then(re=>{TreeElement.empty(re)?re.remove():g._groups.set(j,re)})}),L=e.onDidChange(()=>{const z=e.ordered(t);equals$2(z,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$2(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(z=>{g.model=z,this._debounceInformation.update(e,Date.now()-L)}).catch(z=>{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$15([__param$11(0,ILanguageFeaturesService),__param$11(1,ILanguageFeatureDebounceService),__param$11(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()}});const go=class go extends Disposable{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=go.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=go.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=go.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=go.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:z}=k.parts[0],V=z[0],j=r.textModel.getLineIndentColumn(k.lineNumber);if(L<=j){let oe=firstNonWhitespaceIndex(V);oe===-1&&(oe=V.length-1),g=oe>0;const re=r.textModel.getOptions().tabSize;y=CursorColumns.visibleColumnFromColumn(V,oe+1,re){t.setStyle(n.read(i))})),e}class GhostText{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([...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$2(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$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)}};const GHOST_TEXT_DESCRIPTION="ghost-text";let GhostTextView=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,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=[],z=[];function V(ae,le){if(z.length>0){const de=z[z.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)z.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)):V([j.substring(oe,ae.column-1)],void 0),le.length>0&&(V(le,GHOST_TEXT_DESCRIPTION),ie===void 0&&ae.column<=j.length&&(ie=ae.column)),oe=ae.column-1}ie!==void 0&&V([j.substring(oe)],void 0);const re=ie!==void 0?new ColumnRange(ie,j.length+1):void 0;return{replacedRange:k,inlineTexts:L,additionalLines:z,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}};GhostTextView=__decorate$14([__param$10(2,ILanguageService)],GhostTextView);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(118)||r.hasChanged(100)||r.hasChanged(95)||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(118),k="none",L=i.get(95),z=i.get(51),V=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),_e=LineTokens.createEmpty(ue,r);renderViewLine(new RenderLineInput(V.isMonospace&&!g,V.canUseHalfwidthRightwardsArrow,ue,!1,he,pe,0,_e,de.decorations,e,0,V.spaceWidth,V.middotWidth,V.wsmiddotWidth,y,k,L,z!==EditorFontLigatures.OFF,null),ie),ie.appendString("
    ")}ie.appendString(""),applyFontInfo(n,V);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,z=>e.getLanguageConfiguration(z)),r=new TextBufferTokenizer(new StaticTokenizerSource([n]),i),g=parseDocument(r,[],void 0,!0);let y="";const k=n.getLineContent();function L(z,V){if(z.kind===2)if(L(z.openingBracket,V),V=lengthAdd(V,z.openingBracket.length),z.child&&(L(z.child,V),V=lengthAdd(V,z.child.length)),z.closingBracket)L(z.closingBracket,V),V=lengthAdd(V,z.closingBracket.length);else{const ie=i.getSingleLanguageBracketTokens(z.openingBracket.languageId).findClosingTokenText(z.openingBracket.bracketIds);y+=ie}else if(z.kind!==3){if(z.kind===0||z.kind===1)y+=k.substring(V,lengthAdd(V,z.length));else if(z.kind===4)for(const j of z.children)L(j,V),V=lengthAdd(V,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=e instanceof Position$1?getDefaultRange(e,t):e,k=n.all(t),L=new SetMap;for(const de of k)de.groupId&&L.add(de.groupId,de);function z(de){if(!de.yieldsToGroupIds)return[];const ue=[];for(const he of de.yieldsToGroupIds||[]){const pe=L.get(he);for(const _e of pe)ue.push(_e)}return ue}const V=new Map,j=new Set;function ie(de,ue){if(ue=[...ue,de],j.has(de))return ue;j.add(de);try{const he=z(de);for(const pe of he){const _e=ie(pe,ue);if(_e)return _e}}finally{j.delete(de)}}function oe(de){const ue=V.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(_e=>_e.toString?_e.toString():""+_e).join(" -> "))));const pe=new DeferredPromise;return V.set(de,pe.p),(async()=>{var _e;if(!he){const Ce=z(de);for(const xe of Ce){const Ie=await oe(xe);if(Ie&&Ie.items.length>0)return}}try{return e instanceof Position$1?await de.provideInlineCompletions(t,e,i,r):await((_e=de.provideInlineEdits)==null?void 0:_e.call(de,t,e,i,r))}catch(Ce){onUnexpectedExternalError(Ce);return}})().then(_e=>pe.complete(_e),_e=>pe.error(_e)),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 _e=InlineCompletionItem.from(pe,he,y,t,g);ae.set(_e.hash(),_e)}}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 z=y.length-e.insertText.length;z!==0&&(L=new Range$2(L.startLineNumber,L.startColumn,L.endLineNumber,L.endColumn+z))}k=void 0}else if("snippet"in e.insertText){const z=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-z;j!==0&&(L=new Range$2(L.startLineNumber,L.startColumn,L.endLineNumber,L.endColumn+j))}const V=new SnippetParser().parse(e.insertText.snippet);V.children.length===1&&V.children[0]instanceof Text$1?(y=V.children[0].value,k=void 0):(y=V.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()})}toSingleTextEdit(){return new SingleTextEdit(this.range,this.insertText)}}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 z=e.getValueInRange(g.range),V=cachingDiff(z,g.text);if(!V)return;const j=g.range.startLineNumber,ie=new Array;if(t==="prefix"){const re=V.filter(ae=>ae.originalLength===0);if(re.length>1||re.length===1&&re[0].originalStart!==z.length)return}const oe=g.text.length-r;for(const re of V){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(z){let V=0;for(let j=0,ie=z.length;jV&&(V=oe)}return V}const r=Math.max(i(n),i(e));function g(z){if(z<0)throw new Error("unexpected");return r+z+1}function y(z){let V=0,j=0;const ie=new Int32Array(z.length);for(let oe=0,re=z.length;oek},{getElements:()=>L}).ComputeDiff(!1).changes}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)}};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 V,j;const r=new UpdateRequest(e,t,this.textModel.getVersionId()),g=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((V=this._updateOperation.value)!=null&&V.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$1,L=(async()=>{if((y||t.triggerKind===InlineCompletionTriggerKind$1.Automatic)&&await wait$1(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(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(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(de=>{g.set(le,de)}),!0})(),z=new UpdateOperation(r,k,L);return this._updateOperation.value=z,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=__decorate$13([__param$$(3,ILanguageFeaturesService),__param$$(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)&&equalsIfDefined(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,itemEquals())&&(e.context.triggerKind===InlineCompletionTriggerKind$1.Automatic||this.context.triggerKind===InlineCompletionTriggerKind$1.Explicit)&&this.versionId===e.versionId}}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=[];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._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(e,r,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class InlineCompletionWithUpdatedRange{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({owner:this,equalsFn:Range$2.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((t=this._updatedRange.read(e))!=null?t:emptyRange,this.inlineCompletion.insertText)}isVisible(e,t,i){const r=singleTextRemoveCommonPrefix(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 z=k.substring(0,L),V=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()),z=z.trimStart(),z.length===0&&(V=V.trimStart())),z.startsWith(j)&&!!matchesSubString(ie,V)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&TextLength.ofRange(i).isGreaterThanOrEqualTo(TextLength.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){var t;return new SingleTextEdit((t=this._updatedRange.read(e))!=null?t:emptyRange,this.inlineCompletion.filterText)}}const emptyRange=new Range$2(1,1,1,1),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?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}}const ml=class ml{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}};ml.default=new ml;let CompletionOptions=ml;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),z={replace:L,insert:L.setEndPosition(t.lineNumber,t.column)},V=[],j=new DisposableStore,ie=[];let oe=!1;const re=(le,de,ue)=>{var pe,_e,Ce;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=z),xe.sortText||(xe.sortText=typeof xe.label=="string"?xe.label:xe.label.label),!oe&&xe.insertTextRules&&xe.insertTextRules&4&&(oe=SnippetParser.guessNeedsClipboard(xe.insertText)),V.push(new CompletionItem(t,xe,de,le)),he=!0}return isDisposable(de)&&j.add(de),ie.push({providerName:(_e=le._debugDisplayName)!=null?_e:"unknown_provider",elapsedProvider:(Ce=de.duration)!=null?Ce:-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=>V.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(V.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:[]},z=[],V=k.object.textEditorModel.validatePosition(i),j=await provideSuggestionItems(y,k.object.textEditorModel,V,void 0,{triggerCharacter:r!=null?r:void 0,triggerKind:r?1:0});for(const ie of j.items)z.length<(g!=null?g:0)&&z.push(ie.resolve(CancellationToken.None)),L.incomplete=L.incomplete||ie.container.incomplete,L.suggestions.push(ie.completion);try{return await Promise.all(z),L}finally{setTimeout(()=>j.disposable.dispose(),100)}}finally{k.dispose()}});function showSimpleSuggestions(n,e){var t;(t=n.getContribution("editor.contrib.suggestController"))==null||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$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)}};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(z=>z===e?!1:(z instanceof Text$1&&(k=getLeadingWhitespace(splitLines(z.value).pop())),!0));const L=commonPrefixLength(k,y);i=i.replace(/(\r\n|\r|\n)(.*)/g,(z,V,j)=>"".concat(V).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$12([__param$_(2,ILanguageConfigurationService)],CommentBasedVariableResolver);const po=class po{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 po.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return po.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return po.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return po.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}}};po.dayNames=[localize("Sunday","Sunday"),localize("Monday","Monday"),localize("Tuesday","Tuesday"),localize("Wednesday","Wednesday"),localize("Thursday","Thursday"),localize("Friday","Friday"),localize("Saturday","Saturday")],po.dayNamesShort=[localize("SundayShort","Sun"),localize("MondayShort","Mon"),localize("TuesdayShort","Tue"),localize("WednesdayShort","Wed"),localize("ThursdayShort","Thu"),localize("FridayShort","Fri"),localize("SaturdayShort","Sat")],po.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")],po.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")];let TimeBasedVariableResolver=po;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$11=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<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)}},SnippetSession_1;const to=class to{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?to._decor.inactiveFinal:to._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),z=g.transform.resolve(L).split(/\r\n|\r|\n/);for(let V=1;V0&&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),z=this._editor.getModel().getDecorationRange(L);y.push(new Selection$1(z.startLineNumber,z.startColumn,z.endLineNumber,z.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(k),r.changeDecorationOptions(L,k.isFinalTabstop?to._decor.activeFinal:to._decor.active),g.add(k);for(const V of this._snippet.enclosingPlaceholders(k)){const j=this._placeholderDecorations.get(V);r.changeDecorationOptions(j,V.isFinalTabstop?to._decor.activeFinal:to._decor.active),g.add(V)}}for(const[k,L]of this._placeholderDecorations)g.has(k)||r.changeDecorationOptions(L,k.isFinalTabstop?to._decor.inactiveFinal:to._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 z=g._snippet.offset(L),V=g._snippet.fullLen(L),j=Range$2.fromPositions(t.getPositionAt(g._offset+z),t.getPositionAt(g._offset+z+V)),ie=i.addDecoration(j,to._decor.inactive);this._placeholderDecorations.set(L,ie)}}this._placeholderGroups=groupBy$1(this._snippet.placeholders,Placeholder.compareByIndex)})}};to._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"})};let OneSnippet=to;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(z=>{if(!(z instanceof Text$1)||z.parent instanceof Choice||g&&!g.has(z))return!0;const V=z.value.split(/\r\n|\r|\n/);if(i){const ie=r.offset(z);if(ie===0)V[0]=e.normalizeIndentation(V[0]);else{L=L!=null?L:r.toString();const oe=L.charCodeAt(ie-1);(oe===10||oe===13)&&(V[0]=e.normalizeIndentation(k+V[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,_e)=>({selection:pe,idx:_e})).sort((pe,_e)=>Range$2.compareRangesUsingStarts(pe.selection,_e.selection));for(const{selection:pe,idx:_e}of he){let Ce=SnippetSession_1.adjustSelection(ie,pe,i,0),xe=SnippetSession_1.adjustSelection(ie,pe,0,r);le!==ie.getValueInRange(Ce)&&(Ce=pe),de!==ie.getValueInRange(xe)&&(xe=pe);const Ie=pe.setStartPosition(Ce.startLineNumber,Ce.startColumn).setEndPosition(xe.endLineNumber,xe.endColumn),Ne=new SnippetParser().parse(t,!0,g),$e=Ie.getStartPosition(),Oe=SnippetSession_1.adjustWhitespace(ie,$e,y||_e>0&&ue!==ie.getLineFirstNonWhitespaceColumn(pe.positionLineNumber),Ne);Ne.resolveVariables(new CompositeSnippetVariableResolver([re,new ClipboardBasedVariableResolver(ae,_e,he.length,e.getOption(79)==="spread"),new SelectionBasedVariableResolver(ie,pe,_e,L),new CommentBasedVariableResolver(ie,pe,z),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(oe),new RandomBasedVariableResolver])),V[_e]=EditOperation.replace(Ie,Ne.toString()),V[_e].identifier={major:_e,minor:0},V[_e]._isTracked=!0,j[_e]=new OneSnippet(e,Ne,Oe)}return{edits:V,snippets:j}}static createEditsAndSnippetsFromEdits(e,t,i,r,g,y,k){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const L=[],z=e.getModel(),V=new SnippetParser,j=new TextmateSnippet,ie=new CompositeSnippetVariableResolver([e.invokeWithinContext(re=>new ModelBasedVariableResolver(re.get(ILabelService),z)),new ClipboardBasedVariableResolver(()=>g,0,e.getSelections().length,e.getOption(79)==="spread"),new SelectionBasedVariableResolver(z,e.getSelection(),0,y),new CommentBasedVariableResolver(z,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 _e=t[re-1].range,Ce=Range$2.fromPositions(_e.getEndPosition(),ae.getStartPosition()),xe=new Text$1(z.getValueInRange(Ce));j.appendChild(xe),oe+=xe.value.length}const de=V.parseFragment(le,j);SnippetSession_1.adjustWhitespace(z,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 V.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$11([__param$Z(3,ILanguageConfigurationService)],SnippetSession);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)}},SnippetController2_1;const _defaultOptions={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var bo;let SnippetController2=(bo=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.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.hasChoice){const r={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(V,j)=>{if(!this._session||V!==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=V.getValueInRange(ie.range),re=!!ie.choice.options.find(le=>le.value===oe),ae=[];for(let le=0;le{y==null||y.dispose(),k=!1},z=()=>{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:z,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(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=bo,bo.ID="snippetController2",bo.InSnippetMode=new RawContextKey("inSnippetMode",!1,localize("inSnippetMode","Whether the editor in current in snippet mode")),bo.HasNextTabstop=new RawContextKey("hasNextTabstop",!1,localize("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),bo.HasPrevTabstop=new RawContextKey("hasPrevTabstop",!1,localize("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),bo);SnippetController2=SnippetController2_1=__decorate$10([__param$Y(1,ILogService),__param$Y(2,ILanguageFeaturesService),__param$Y(3,IContextKeyService),__param$Y(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.textInputFocus,primary:2}}));registerEditorCommand(new CommandCtor({id:"jumpToPrevSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasPrevTabstop),handler:n=>n.prev(),kbOpts:{weight:130,kbExpr:EditorContextKeys.textInputFocus,primary:1026}}));registerEditorCommand(new CommandCtor({id:"leaveSnippet",precondition:SnippetController2.InSnippetMode,handler:n=>n.cancel(!0),kbOpts:{weight:130,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}}));registerEditorCommand(new CommandCtor({id:"acceptSnippet",precondition:SnippetController2.InSnippetMode,handler:n=>n.finish()}));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)}};let InlineCompletionsModel=class extends Disposable{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,r,g,y,k,L,z,V,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=z,this._instantiationService=V,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._forceUpdateExplicitlySignal=observableSignal(this),this._selectedInlineCompletionId=observableValue(this,void 0),this._primaryPosition=derived(this,re=>{var ae;return(ae=this._positions.read(re)[0])!=null?ae:new Position$1(1,1)}),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([VersionIdChangeReason.Redo,VersionIdChangeReason.Undo,VersionIdChangeReason.AcceptWord]),this._fetchInlineCompletionsPromise=derivedHandleChanges({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:InlineCompletionTriggerKind$1.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$1.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(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()},_e=this.selectedInlineCompletion.get(),Ce=ae.preserveCurrentCompletion||_e!=null&&_e.forwardStable?_e:void 0;return this._source.fetch(he,pe,Ce)}),this._filteredInlineCompletionItems=derivedOpts({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(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.activeCommands=derivedOpts({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(this,re=>{if(this.lastTriggerKind.read(re)===InlineCompletionTriggerKind$1.Explicit)return this._filteredInlineCompletionItems.read(re).length}),this.state=derivedOpts({owner:this,equalsFn:(re,ae)=>!re||!ae?re===ae:ghostTextsOrReplacementsEqual(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(le.toSingleTextEdit(),ae),pe=this._computeAugmentation(he,re);if(!this._suggestPreviewEnabled.read(re)&&!pe)return;const Ce=(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),$e=[Ce,...getSecondaryEdits(this.textModel,Ne,Ce)],Oe=$e.map((Et,ze)=>computeGhostText(Et,ae,Ie,Ne[ze],xe)).filter(isDefined),Fe=(ue=Oe[0])!=null?ue:new GhostText(Ce.range.endLineNumber,[]);return{edits:$e,primaryGhostText:Fe,ghostTexts:Oe,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),_e=this._inlineSuggestMode.read(re),Ce=this._positions.read(re),xe=[pe,...getSecondaryEdits(this.textModel,Ce,pe)],Ie=xe.map((Ne,$e)=>computeGhostText(Ne,ae,_e,Ce[$e],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,equalsFn:ghostTextsOrReplacementsEqual},re=>{const ae=this.state.read(re);if(ae)return ae.ghostTexts}),this.primaryGhostText=derivedOpts({owner:this,equalsFn:ghostTextOrReplacementEquals},re=>{const ae=this.state.read(re);if(ae)return ae==null?void 0:ae.primaryGhostText}),this._register(recomputeInitiallyAndOnChange(this._fetchInlineCompletionsPromise));let oe;this._register(autorun(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.Undo:e!=null&&e.isRedoing?VersionIdChangeReason.Redo:this.isAcceptingPartially?VersionIdChangeReason.AcceptWord:VersionIdChangeReason.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){subtransaction(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.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 r;if(e.getModel()!==this.textModel)throw new BugIndicatingError;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.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(r=SnippetController2.get(e))==null||r.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const g=t.edits,y=getEndPositionsAfterApplying(g).map(k=>Selection$1.fromPositions(k));e.executeEdits("inlineSuggestion.accept",[...g.map(k=>EditOperation.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),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 V=/\s+/g.exec(i);return V&&V.index!==void 0&&V.index+V[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),z=k.text,V=t(L,z);if(V===z.length&&g.parts.length===1){this.accept(e);return}const j=z.substring(0,V),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.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$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 g,y;const t=singleTextRemoveCommonPrefix(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=__decorate$$([__param$X(9,IInstantiationService),__param$X(10,ICommandService),__param$X(11,ILanguageConfigurationService)],InlineCompletionsModel);var 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={}));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 z=substringPos(t.text,L);return r.map(V=>{const j=addPositions(subtractPositions(V,g),y),ie=n.getValueInRange(Range$2.fromPositions(V,j)),oe=commonPrefixLength(k,ie),re=Range$2.fromPositions(V,V.delta(0,oe));return new SingleTextEdit(re,z)})}function substringPos(n,e){let t="";const i=splitLinesIncludeSeparators(n);for(let r=e.lineNumber-1;rg.range,Range$2.compareRangesUsingStarts)),i=new TextEdit(e.apply(n)).getNewRanges();return e.inverse().apply(i).map(g=>g.getEndPosition())}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)}},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[z].completion.kind&&j.insertText===i[z].completion.insertText&&(L=j.touch,k=z),i[z].completion.preselect&&y===-1)return y=z}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)}}}var qo;let SuggestMemoryService=(qo=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 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._strategyCtors.get(i)||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(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._storagePrefix,"/").concat(this._strategy.name),i,t,1)}}},SuggestMemoryService_1=qo,qo._strategyCtors=new Map([["recentlyUsedByPrefix",PrefixMemory],["recentlyUsed",LRUMemory],["first",NoMemory]]),qo._storagePrefix="suggest/memories",qo);SuggestMemoryService=SuggestMemoryService_1=__decorate$_([__param$W(0,IStorageService),__param$W(1,IConfigurationService)],SuggestMemoryService);const ISuggestMemoryService=createDecorator("ISuggestMemories");registerSingleton(ISuggestMemoryService,SuggestMemoryService,1);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)}},WordContextKey_1,Hr;let WordContextKey=(Hr=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(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=Hr,Hr.AtEnd=new RawContextKey("atEndOfWord",!1),Hr);WordContextKey=WordContextKey_1=__decorate$Z([__param$V(1,IContextKeyService)],WordContextKey);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)}},SuggestAlternatives_1,Wr;let SuggestAlternatives=(Wr=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.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_1=Wr,Wr.OtherSuggestions=new RawContextKey("hasOtherSuggestions",!1),Wr);SuggestAlternatives=SuggestAlternatives_1=__decorate$Y([__param$U(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()}}const Yn=class Yn{async provideSelectionRanges(e,t){const i=[];for(const r of t){const g=[];i.push(g);const y=new Map;await new Promise(k=>Yn._bracketsRightYield(k,0,e,r,y)),await new Promise(k=>Yn._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>=Yn._maxRounds){e();break}if(!r){e();break}const L=i.bracketPairs.findNextBracket(r);if(!L){e();break}if(Date.now()-k>Yn._maxDuration){setTimeout(()=>Yn._bracketsRightYield(e,t+1,i,r,g));break}if(L.bracketInfo.isOpeningBracket){const V=L.bracketInfo.bracketText,j=y.has(V)?y.get(V):0;y.set(V,j+1)}else{const V=L.bracketInfo.getOpeningBrackets()[0].bracketText;let j=y.has(V)?y.get(V):0;if(j-=1,y.set(V,Math.max(0,j)),j<0){let ie=g.get(V);ie||(ie=new LinkedList,g.set(V,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>=Yn._maxRounds&&g.size===0){e();break}if(!r){e();break}const z=i.bracketPairs.findPrevBracket(r);if(!z){e();break}if(Date.now()-L>Yn._maxDuration){setTimeout(()=>Yn._bracketsLeftYield(e,t+1,i,r,g,y));break}if(z.bracketInfo.isOpeningBracket){const j=z.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(z.range.getEndPosition(),re.getStartPosition()),le=Range$2.fromPositions(z.range.getStartPosition(),re.getEndPosition());y.push({range:ae}),y.push({range:le}),Yn._addBracketLeading(i,le,y)}}}else{const j=z.bracketInfo.getOpeningBrackets()[0].bracketText,ie=k.has(j)?k.get(j):0;k.set(j,ie+1)}r=z.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())}))}}};Yn._maxDuration=30,Yn._maxRounds=2;let BracketSelectionRangeProvider=Yn;const mo=class mo{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return mo.None;const i=t.getModel(),r=t.getPosition();if(!e.canComputeWordRanges(i.uri))return mo.None;const[g]=await new BracketSelectionRangeProvider().provideSelectionRanges(i,[r]);if(g.length===0)return mo.None;const y=await e.computeWordRanges(i.uri,g[0].range);if(!y)return mo.None;const k=i.getWordUntilPosition(r);return delete y[k.word],new class extends mo{distance(L,z){if(!r.equals(t.getPosition()))return 0;if(z.kind===17)return 2<<20;const V=typeof z.label=="string"?z.label:z.label.label,j=y[V];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}}}};mo.None=new class extends mo{distance(){return 0}};let WordDistance=mo,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 z=0;z=oe)V.score=FuzzyScore.Default;else if(typeof V.completion.filterText=="string"){const ae=L(r,g,re,V.completion.filterText,V.filterTextLow,0,this._fuzzyScoreOptions);if(!ae)continue;compareIgnoreCase(V.completion.filterText,V.textLabel)===0?V.score=ae:(V.score=anyScore(r,g,re,V.textLabel,V.labelLow,0),V.score[0]=ae[0])}else{const ae=L(r,g,re,V.textLabel,V.labelLow,0,this._fuzzyScoreOptions);if(!ae)continue;V.score=ae}}V.idx=z,V.distance=this._wordDistance.distance(V.position,V.completion),k.push(V),e.push(V.textLabel.length)}this._filteredItems=k.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?quickSelect(e.length-.85,e,(z,V)=>z-V):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$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)}},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,z){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=z,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 V=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{V=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{V=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(j=>{V||this._onCursorChange(j)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!V&&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(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(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 r="";isLowSurrogate(i.charCodeAt(i.length-1))?isHighSurrogate(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,z]of this._completionModel.getItemsByProvider())g.has(L)||k.set(L,z);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.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=SnippetController2.get(this._editor))!=null&&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(90);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(91)))}_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 ie,oe,re,ae,le,de;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new LineContext(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$1;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.createSuggestFilter(this._editor),z=new CompletionOptions(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),V=WordDistance.create(this._editorWorkerService,this._editor),j=provideSuggestionItems(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),z,r,this._requestToken.token);Promise.all([j,V]).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 _e=this._editor.getModel(),Ce=new LineContext(_e,this._editor.getPosition(),e),xe={...FuzzyScoreOptions.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new CompletionModel(ue.items,this._context.column,{leadingLineContent:Ce.leadingLineContent,characterCountDelta:Ce.column-this._context.column},he,this._editor.getOption(119),this._editor.getOption(113),xe,pe),this._completionDisposables.add(ue.disposable),this._onNewContext(Ce),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(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(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$X([__param$T(1,IEditorWorkerService),__param$T(2,IClipboardService),__param$T(3,ITelemetryService),__param$T(4,ILogService),__param$T(5,IContextKeyService),__param$T(6,IConfigurationService),__param$T(7,ILanguageFeaturesService),__param$T(8,IEnvironmentService)],SuggestModel);const vl=class vl{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;kvl._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$S=function(n,e){return function(t,i){e(t,i,n)}};let SuggestWidgetStatus=class{constructor(e,t,i,r,g){this._menuId=t,this._menuService=r,this._contextKeyService=g,this._menuDisposables=new DisposableStore,this.element=append$2(e,$$f(".suggest-status-bar"));const y=k=>k instanceof MenuItemAction?i.createInstance(TextOnlyMenuEntryActionViewItem,k,{useComma:!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$W([__param$S(2,IInstantiationService),__param$S(3,IMenuService),__param$S(4,IContextKeyService)],SuggestWidgetStatus);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)}};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$2(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=append$2(this._body,$$f(".header")),this._close=append$2(this._header,$$f("span"+ThemeIcon.asCSSSelector(Codicon.close))),this._close.title=localize("details.close","Close"),this._type=append$2(this._header,$$f("p.type")),this._docs=append$2(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(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("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().appendCodeblock("empty",k),i="Provider: ".concat(e.provider._debugDisplayName)}if(!t&&!canExpandCompletionItem(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(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(k))}else clearNode(this._type),this._type.title="",hide$2(this._type),this.domNode.classList.add("no-type");if(clearNode(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(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(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$V([__param$R(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: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 _e;const r=getClientArea(this.getDomNode().ownerDocument.body),g=this.widget.getLayoutInfo(),y=new Dimension(220,2*g.lineHeight),k=e.top,L=function(){const Ce=r.width-(e.left+e.width+g.borderWidth+g.horizontalPadding),xe=-g.borderWidth+e.left+e.width,Ie=new Dimension(Ce,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:Ce-t.width,maxSizeTop:Ie,maxSizeBottom:Ne,minSize:y.with(Math.min(Ce,y.width))}}(),z=function(){const Ce=e.left-g.borderWidth-g.horizontalPadding,xe=Math.max(g.horizontalPadding,e.left-t.width-g.borderWidth),Ie=new Dimension(Ce,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:Ce-t.width,maxSizeTop:Ie,maxSizeBottom:Ne,minSize:y.with(Math.min(Ce,y.width))}}(),V=function(){const Ce=e.left,xe=-g.borderWidth+e.top+e.height,Ie=new Dimension(e.width-g.borderHeight,r.height-e.top-e.height-g.verticalPadding);return{top:xe,left:Ce,fit:Ie.height-t.height,maxSizeBottom:Ie,maxSizeTop:Ie,minSize:y.with(Ie.width)}}(),j=[L,z,V],ie=(_e=j.find(Ce=>Ce.fit>=0))!=null?_e:j.sort((Ce,xe)=>xe.fit-Ce.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 Ce=pe.getBoundingClientRect();ue-=Ce.top,he-=Ce.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;(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){if(ThemeIcon.isThemeIcon(r))return["codicon-".concat(r.id),"predefined-file-icon"];if(URI.isUri(r))return[];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 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$Q=function(n,e){return function(t,i){e(t,i,n)}};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."));var oo;const _completionItemColor=new(oo=class{extract(e,t){if(e.textLabel.match(oo._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(oo._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=oo._regexRelaxed.exec(i);if(r&&(r.index===0||r.index+r[0].length===i.length))return t[0]=r[0],!0}return!1}},oo._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*\))/,oo._regexStrict=new RegExp("^".concat(oo._regexRelaxed.source,"$"),"i"),oo);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$2(e,$$f(".icon")),g=append$2(r,$$f("span.colorspan")),y=append$2(e,$$f(".contents")),k=append$2(y,$$f(".main")),L=append$2(k,$$f(".icon-label.codicon")),z=append$2(k,$$f("span.left")),V=append$2(k,$$f("span.right")),j=new IconLabel(z,{supportHighlights:!0,supportIcons:!0});t.add(j);const ie=append$2(z,$$f("span.signature-label")),oe=append$2(z,$$f("span.qualifier-label")),re=append$2(V,$$f("span.details-label")),ae=append$2(V,$$f("span.readMore"+ThemeIcon.asCSSSelector(suggestMoreInfoIcon)));return ae.title=localize("readMore","Read More"),{root:i,left:z,right:V,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,_e=de.get(120)||ue.fontSize,Ce=de.get(121)||ue.lineHeight,xe=ue.fontWeight,Ie=ue.letterSpacing,Ne="".concat(_e,"px"),$e="".concat(Ce,"px"),Oe="".concat(Ie,"px");i.style.fontSize=Ne,i.style.fontWeight=xe,i.style.letterSpacing=Oe,k.style.fontFamily=he,k.style.fontFeatureSettings=pe,k.style.lineHeight=$e,r.style.height=$e,r.style.width=$e,ae.style.height=$e,ae.style.width=$e}}}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(119).showInlineDetails?show(i.detailsLabel):hide$2(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$2(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};ItemRenderer=__decorate$U([__param$Q(1,IModelService),__param$Q(2,ILanguageService),__param$Q(3,IThemeService)],ItemRenderer);function stripNewLines(n){return n.replace(/\r\n|\r|\n/g,"")}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)}},SuggestWidget_1;registerColor("editorSuggestWidget.background",editorWidgetBackground,localize("editorSuggestWidgetBackground","Background color of the suggest widget."));registerColor("editorSuggestWidget.border",editorWidgetBorder,localize("editorSuggestWidgetBorder","Border color of the suggest widget."));const editorSuggestWidgetForeground=registerColor("editorSuggestWidget.foreground",editorForeground,localize("editorSuggestWidgetForeground","Foreground color of the suggest widget."));registerColor("editorSuggestWidget.selectedForeground",quickInputListFocusForeground,localize("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.selectedIconForeground",quickInputListFocusIconForeground,localize("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const editorSuggestWidgetSelectedBackground=registerColor("editorSuggestWidget.selectedBackground",quickInputListFocusBackground,localize("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.highlightForeground",listHighlightForeground,localize("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));registerColor("editorSuggestWidget.focusHighlightForeground",listFocusHighlightForeground,localize("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));registerColor("editorSuggestWidgetStatus.foreground",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 t;const e=(t=this._service.get(this._key,0))!=null?t:"";try{const i=JSON.parse(e);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)}}var Yo;let SuggestWidget=(Yo=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:_e}=this.element.size;(!k.persistHeight||Math.abs(k.currentSize.height-_e)<=he)&&(_e=(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(pe,_e))}this._contentWidget.unlockPreference(),k=void 0}})),this._messageElement=append$2(this.element.domNode,$$f(".message")),this._listElement=append$2(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 z=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);z();const V=g.createInstance(ItemRenderer,this.editor);this._disposables.add(V),this._disposables.add(V.onDidToggleDetails(()=>this.toggleDetails())),this._list=new List("SuggestWidget",this._listElement,{getHeight:ie=>this.getLayoutInfo().itemHeight,getTemplateId:ie=>"suggestion"},[V],{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$1("{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(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(),z()),this._completionModel&&(ie.hasChanged(50)||ie.hasChanged(120)||ie.hasChanged(121))&&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.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 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(async g=>{const y=disposableTimeout(()=>{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(i)}))}).catch(onUnexpectedError)),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$2(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$2(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$2(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$2(this._messageElement),show(this._listElement,this._status.element),this._show();break;case 4:hide$2(this._messageElement),show(this._listElement,this._status.element),this._show();break;case 5:hide$2(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 L,z;if(this._contentWidget.setPosition(this.editor.getPosition()),(L=this._loadingTimeout)==null||L.dispose(),(z=this._currentSuggestionDetails)==null||z.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(getWindow$2(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$2(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.heightz&&(g=z);const V=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:g,j=i.statusBarHeight+this._list.contentHeight+i.borderHeight,ie=i.itemHeight+i.statusBarHeight,oe=getDomNodePagePosition(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(V,i.defaultSize.height),this.element.maxSize=new Dimension(z,he),this.element.minSize=new Dimension(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(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(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=Yo,Yo.LOADING_MESSAGE=localize("suggestWidget.loading","Loading..."),Yo.NO_SUGGESTIONS_MESSAGE=localize("suggestWidget.noSuggestions","No suggestions."),Yo);SuggestWidget=SuggestWidget_1=__decorate$T([__param$P(1,IStorageService),__param$P(2,IContextKeyService),__param$P(3,IThemeService),__param$P(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$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)}},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}}var Ur;let SuggestController=(Ur=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(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>L.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new WindowIdleValue(getWindow$2(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$2(e.getDomNode()),()=>this._toDispose.add(new OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new WindowIdleValue(getWindow$2(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(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 z=Context$1.AcceptSuggestionsOnEnter.bindTo(r),V=()=>{const j=this.editor.getOption(1);z.set(j==="on"||j==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>V())),V()}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 z=this.getOverwriteInfo(y,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),y);const V=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(!V){const re=new StopWatch;let ae;const le=r.onDidChangeContent(pe=>{if(pe.isFlush){L.cancel(),le.dispose();return}for(const _e of pe.changes){const Ce=Range$2.getEndPosition(_e.range);(!ae||Position$1.isBefore(Ce,ae))&&(ae=Ce)}}),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(_e=>Position$1.isBefore(ae,Range$2.getStartPosition(_e.range))))return!1;ue&&this.editor.pushUndoStop();const pe=StableEditorScrollState.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",y.completion.additionalTextEdits.map(_e=>EditOperation.replaceMove(Range$2.lift(_e.range),_e.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:z.overwriteBefore,overwriteAfter:z.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,V,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?z[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$3(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,index:y,firstIndex:j})}getOverwriteInfo(e,t){assertType(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(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),z=k.items[L];if(!r(z)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:L,item:z,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=Ur,Ur.ID="editor.contrib.suggestController",Ur);SuggestController=SuggestController_1=__decorate$S([__param$O(1,ISuggestMemoryService),__param$O(2,ICommandService),__param$O(3,IContextKeyService),__param$O(4,IInstantiationService),__param$O(5,ILogService),__param$O(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}}const _l=class _l extends EditorAction{constructor(){super({id:_l.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)}};_l.id="editor.action.triggerSuggest";let TriggerSuggestAction=_l;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$6(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.resetWidgetSize()}});class SuggestWidgetAdaptor extends Disposable{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$1),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.get(this.editor);if(r){this._register(r.registerSelector({priority:100,select:(k,L,z)=>{const V=this.editor.getModel();if(!V)return-1;const j=this.suggestControllerPreselector(),ie=j?singleTextRemoveCommonPrefix(j,V):void 0;if(!ie)return-1;const oe=Position$1.lift(L),re=z.map((le,de)=>{const ue=SuggestItemInfo.fromSuggestion(r,V,oe,le,this.isShiftKeyPressed),he=singleTextRemoveCommonPrefix(ue.toSingleTextEdit(),V),pe=singleTextEditAugments(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(le=>le.prefixLength,numberComparator));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$1.once(r.model.onDidTrigger)(k=>{y()})),this._register(r.onWillInsertSuggestItem(k=>{const L=this.editor.getPosition(),z=this.editor.getModel();if(!L||!z)return;const V=SuggestItemInfo.fromSuggestion(r,z,L,k.item,this.isShiftKeyPressed);this.onWillAccept(V)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!suggestItemInfoEquals(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}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 z=new SnippetParser().parse(y);z.children.length<100&&SnippetSession.adjustWhitespace(t,i,!0,z),y=z.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$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)}},InlineCompletionsController_1,Kr;let InlineCompletionsController=(Kr=class extends Disposable{static get(e){return e.getContribution(InlineCompletionsController_1.ID)}constructor(e,t,i,r,g,y,k,L,z,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=z,this._accessibilityService=V,this._editorObs=observableCodeEditor(this.editor),this._positions=derived(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$1(1,1)]}),this._suggestWidgetAdaptor=this._register(new SuggestWidgetAdaptor(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(this,ie=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(oe=>ie(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=observableFromEvent(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=observableFromEvent(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=derived(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(this,ie=>{if(this._editorObs.isReadonly.read(ie))return;const oe=this._editorObs.model.read(ie);return oe?this._instantiationService.createInstance(InlineCompletionsModel,oe,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=derived(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(this._ghostTexts,this._store),this._ghostTextWidgets=mapObservableArrayCached(this,this._stablizedGhostTexts,(ie,oe)=>oe.add(this._instantiationService.createInstance(GhostTextView,this.editor,{ghostText:ie,minReservedLineCount:constObservable(0),targetTextModel:this.model.map(re=>re==null?void 0:re.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=observableSignal(this),this._fontFamily=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new InlineCompletionContextKeys(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.Tab.id,CoreEditingCommands.DeleteLeft.id,CoreEditingCommands.DeleteRight.id,inlineSuggestCommitId,"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.dropDownVisible||transaction(ie=>{var oe;(oe=this.model.get())==null||oe.stop(ie)})})),this._register(autorun(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(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const j=derivedObservableWithCache(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(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(50,cancelOnDispose(re)),await waitForState(this._suggestWidgetSelectedItem,isUndefined$4,()=>!1,cancelOnDispose(re)),await this._accessibilitySignalService.playSignal(AccessibilitySignal.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(le.primaryGhostText.renderForScreenReader(de))})),this._register(new InlineCompletionsHintsWidget(this.editor,this.model,this._instantiationService)),this._register(createStyleSheetFromObservable(derived(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("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),alert(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$1(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=Kr,Kr.ID="editor.contrib.inlineCompletionsController",Kr);InlineCompletionsController=InlineCompletionsController_1=__decorate$R([__param$N(1,IInstantiationService),__param$N(2,IContextKeyService),__param$N(3,IConfigurationService),__param$N(4,ICommandService),__param$N(5,ILanguageFeatureDebounceService),__param$N(6,ILanguageFeaturesService),__param$N(7,IAccessibilitySignalService),__param$N(8,IKeybindingService),__param$N(9,IAccessibilityService)],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}const bl=class bl extends EditorAction{constructor(){super({id:bl.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 r;const i=InlineCompletionsController.get(t);(r=i==null?void 0:i.model.get())==null||r.next()}};bl.ID=showNextInlineSuggestionActionId;let ShowNextInlineSuggestionAction=bl;const Cl=class Cl extends EditorAction{constructor(){super({id:Cl.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 r;const i=InlineCompletionsController.get(t);(r=i==null?void 0:i.model.get())==null||r.previous()}};Cl.ID=showPreviousInlineSuggestionActionId;let ShowPreviousInlineSuggestionAction=Cl;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?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 r;const i=InlineCompletionsController.get(t);await((r=i==null?void 0:i.model.get())==null?void 0:r.acceptNextWord(i.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 r;const i=InlineCompletionsController.get(t);await((r=i==null?void 0:i.model.get())==null?void 0:r.acceptNextLine(i.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 r;const i=InlineCompletionsController.get(t);i&&((r=i.model.get())==null||r.accept(i.editor),i.editor.focus())}}const yl=class yl extends EditorAction{constructor(){super({id:yl.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.stop(r)})}};yl.ID="editor.action.inlineSuggest.hide";let HideInlineCompletion=yl;const Sl=class Sl extends Action2{constructor(){super({id:Sl.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)}};Sl.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let ToggleAlwaysShowInlineSuggestionToolbar=Sl;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)}};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)&&i.add(this.renderScreenReaderText(e,r));const g=r.controller.model.get(),y=this._instantiationService.createInstance(InlineSuggestionHintsContentWidget,this._editor,!1,constObservable(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,r=$$f,g=r("div.hover-row.markdown-hover"),y=append$2(g,r("div.hover-contents",{"aria-live":"assertive"})),k=i.add(new MarkdownRenderer({editor:this._editor},this._languageService,this._openerService)),L=z=>{i.add(k.onDidRenderAsync(()=>{y.className="hover-contents code-hover-contents",e.onContentsChanged()}));const V=localize("inlineSuggestionFollows","Suggestion:"),j=i.add(k.render(new MarkdownString().appendText(V).appendCodeblock("text",z)));y.replaceChildren(j.element)};return i.add(autorun(z=>{var j;const V=(j=t.controller.model.read(z))==null?void 0:j.primaryGhostText.read(z);if(V){const ie=this._editor.getModel().getLineContent(V.lineNumber);L(V.renderForScreenReader(ie))}else reset(y)})),e.fragment.appendChild(g),i}};InlineCompletionsHoverParticipant=__decorate$Q([__param$M(1,ILanguageService),__param$M(2,IOpenerService),__param$M(3,IAccessibilityService),__param$M(4,IInstantiationService),__param$M(5,ITelemetryService)],InlineCompletionsHoverParticipant);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(InlineCompletionsController.ID,InlineCompletionsController,3);registerEditorAction(TriggerInlineSuggestionAction);registerEditorAction(ShowNextInlineSuggestionAction);registerEditorAction(ShowPreviousInlineSuggestionAction);registerEditorAction(AcceptNextWordOfInlineCompletion);registerEditorAction(AcceptNextLineOfInlineCompletion);registerEditorAction(AcceptInlineCompletion);registerEditorAction(HideInlineCompletion);registerAction2(ToggleAlwaysShowInlineSuggestionToolbar);HoverParticipantRegistry.register(InlineCompletionsHoverParticipant);AccessibleViewRegistry.register(new InlineCompletionsAccessibleView);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)}},GotoDefinitionAtPositionEditorContribution_1,Xo;let GotoDefinitionAtPositionEditorContribution=(Xo=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 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$1(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=createCancelablePromise(k=>this.findDefinition(e,k));let r;try{r=await this.previousPromise}catch(k){onUnexpectedError(k);return}if(!r||!r.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const g=r[0].originSelectionRange?Range$2.lift(r[0].originSelectionRange):new Range$2(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(r.length>1){let k=g;for(const{originSelectionRange:L}of r)L&&(k=Range$2.plusRange(k,L));this.addDecoration(k,new MarkdownString().appendText(localize("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:z}}=L,{startLineNumber:V}=k.range;if(V<1||V>z.getLineCount()){L.dispose();return}const j=this.getPreviewValue(z,V,k),ie=this.languageService.guessLanguageIdByFilepathOrFirstLine(z.uri);this.addDecoration(g,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(89)&&!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_1=Xo,Xo.ID="editor.contrib.gotodefinitionatposition",Xo.MAX_SOURCE_PREVIEW_LINES=8,Xo);GotoDefinitionAtPositionEditorContribution=GotoDefinitionAtPositionEditorContribution_1=__decorate$P([__param$L(1,ITextModelService),__param$L(2,ILanguageService),__param$L(3,ILanguageFeaturesService)],GotoDefinitionAtPositionEditorContribution);registerEditorContribution(GotoDefinitionAtPositionEditorContribution.ID,GotoDefinitionAtPositionEditorContribution,2);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)}};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 z=compare(k.resource.toString(),L.resource.toString());return z===0&&(r==="position"?z=Range$2.compareRangesUsingStarts(k,L)||MarkerSeverity$1.compare(k.severity,L.severity):z=MarkerSeverity$1.compare(k.severity,L.severity)||Range$2.compareRangesUsingStarts(k,L)),z},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$J=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$2(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 z=this._editor.getOption(50),V=Math.ceil(z.typicalFullwidthCharacterWidth*this._longestLineLength*.75),j=z.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:V,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}}var jr;let MarkerNavigationWidget=(jr=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.getMenuActions(MarkerNavigationWidget_1.TitleMenu,this._contextKeyService);createAndFillInActionBarActions(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=append$2(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_1=jr,jr.TitleMenu=new MenuId("gotoErrorTitleMenu"),jr);MarkerNavigationWidget=MarkerNavigationWidget_1=__decorate$N([__param$J(1,IThemeService),__param$J(2,IOpenerService),__param$J(3,IMenuService),__param$J(4,IInstantiationService),__param$J(5,IContextKeyService),__param$J(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",editorBackground,localize("editorMarkerNavigationBackground","Editor marker navigation widget background."));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)}},MarkerController_1,Gr;let MarkerController=(Gr=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.selected)||!Range$2.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$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.close(),(r=MarkerController_1.get(y))==null||r.nagivate(e,t))}else this._widget.showAtMarker(g.selected.marker,g.selected.index,g.selected.total)}}},MarkerController_1=Gr,Gr.ID="editor.contrib.markerController",Gr);MarkerController=MarkerController_1=__decorate$M([__param$I(1,IMarkerNavigationService),__param$I(2,IContextKeyService),__param$I(3,ICodeEditorService),__param$I(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.nagivate(this._next,this._multiFile))}}const cr=class cr extends MarkerNavigationAction{constructor(){super(!0,!1,{id:cr.ID,label:cr.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:cr.LABEL,icon:registerIcon("marker-navigation-next",Codicon.arrowDown,localize("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};cr.ID="editor.action.marker.next",cr.LABEL=localize("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let NextMarkerAction=cr;const dr=class dr extends MarkerNavigationAction{constructor(){super(!1,!1,{id:dr.ID,label:dr.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:dr.LABEL,icon:registerIcon("marker-navigation-previous",Codicon.arrowUp,localize("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};dr.ID="editor.action.marker.prev",dr.LABEL=localize("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let PrevMarkerAction=dr;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({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"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({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"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 HoverFocusBehavior;(function(n){n.NoAutoFocus="noAutoFocus",n.FocusIfVisible="focusIfVisible",n.AutoFocusImmediately="autoFocusImmediately"})(HoverFocusBehavior||(HoverFocusBehavior={}));class ShowOrFocusHoverAction extends EditorAction{constructor(){super({id:SHOW_OR_FOCUS_HOVER_ACTION_ID,label:localize({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("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.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=ContentHoverController.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=z=>{const V=t.getPosition(),j=new Range$2(V.lineNumber,V.column,V.lineNumber,V.column);r.showContentHover(j,1,1,z)},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:SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID,label:localize({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("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ContentHoverController.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:SCROLL_UP_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:16,weight:100},metadata:{description:localize2("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollUp()}}class ScrollDownHoverAction extends EditorAction{constructor(){super({id:SCROLL_DOWN_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:18,weight:100},metadata:{description:localize2("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollDown()}}class ScrollLeftHoverAction extends EditorAction{constructor(){super({id:SCROLL_LEFT_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:15,weight:100},metadata:{description:localize2("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollLeft()}}class ScrollRightHoverAction extends EditorAction{constructor(){super({id:SCROLL_RIGHT_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:17,weight:100},metadata:{description:localize2("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollRight()}}class PageUpHoverAction extends EditorAction{constructor(){super({id:PAGE_UP_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:localize2("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.pageUp()}}class PageDownHoverAction extends EditorAction{constructor(){super({id:PAGE_DOWN_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:localize2("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.pageDown()}}class GoToTopHoverAction extends EditorAction{constructor(){super({id:GO_TO_TOP_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:localize2("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.goToTop()}}class GoToBottomHoverAction extends EditorAction{constructor(){super({id:GO_TO_BOTTOM_HOVER_ACTION_ID,label:localize({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.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:localize2("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.goToBottom()}}class IncreaseHoverVerbosityLevel extends EditorAction{constructor(){super({id:INCREASE_HOVER_VERBOSITY_ACTION_ID,label:INCREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Increase Hover Verbosity Level",precondition:EditorContextKeys.hoverVisible})}run(e,t,i){const r=ContentHoverController.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{constructor(){super({id:DECREASE_HOVER_VERBOSITY_ACTION_ID,label:DECREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Decrease Hover Verbosity Level",precondition:EditorContextKeys.hoverVisible})}run(e,t,i){var y;const r=ContentHoverController.get(t);if(!r)return;const g=(i==null?void 0:i.index)!==void 0?i.index:r.focusedHoverPartIndex();(y=ContentHoverController.get(t))==null||y.updateHoverVerbosityLevel(HoverVerbosityAction$1.Decrease,g,i==null?void 0:i.focus)}}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)}};const $$3=$$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,z=k.range.endLineNumber===r?k.range.endColumn:g,V=this._markerDecorationsService.getMarker(i.uri,k);if(!V)continue;const j=new Range$2(e.range.startLineNumber,L,e.range.startLineNumber,z);y.push(new MarkerHover(this,j,V))}return y}renderHoverParts(e,t){if(!t.length)return new RenderedHoverParts([]);const i=new DisposableStore,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$1.compare(y.marker.severity,k.marker.severity))[0];return this.renderMarkerStatusbar(e,g,i),new RenderedHoverParts(r)}_renderMarkerHover(e){const t=new DisposableStore,i=$$3("div.hover-row"),r=append$2(i,$$3("div.marker.hover-contents")),{source:g,message:y,code:k,relatedInformation:L}=e.marker;this._editor.applyFontInfo(r);const z=append$2(r,$$3("span"));if(z.style.whiteSpace="pre-wrap",z.innerText=y,g||k)if(k&&typeof k!="string"){const j=$$3("span");if(g){const ae=append$2(j,$$3("span"));ae.innerText=g}const ie=append$2(j,$$3("a.code-link"));ie.setAttribute("href",k.target.toString()),t.add(addDisposableListener(ie,"click",ae=>{this._openerService.open(k.target,{allowCommands:!0}),ae.preventDefault(),ae.stopPropagation()}));const oe=append$2(ie,$$3("span"));oe.innerText=k.value;const re=append$2(r,j);re.style.opacity="0.6",re.style.paddingLeft="6px"}else{const j=append$2(r,$$3("span"));j.style.opacity="0.6",j.style.paddingLeft="6px",j.innerText=g&&k?"".concat(g,"(").concat(k,")"):g||"(".concat(k,")")}if(isNonEmptyArray(L))for(const{message:j,resource:ie,startLineNumber:oe,startColumn:re}of L){const ae=append$2(r,$$3("div"));ae.style.marginTop="8px";const le=append$2(ae,$$3("a"));le.innerText="".concat(basename(ie),"(").concat(oe,", ").concat(re,"): "),le.style.cursor="pointer",t.add(addDisposableListener(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)}}));const de=append$2(ae,$$3("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$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(92)){const r=e.statusBar.append($$3("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:z=>{L=!0;const V=CodeActionController.get(this._editor),j=getDomNodePagePosition(z);e.hide(),V==null||V.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$L([__param$H(1,IMarkerDecorationsService),__param$H(2,IOpenerService),__param$H(3,ILanguageFeaturesService)],MarkerHoverParticipant);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 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.Center;if(!r&&L!==this._laneOrLine)continue;const z=r?k.options.lineNumberHoverMessage:k.options.glyphMarginHoverMessage;!z||isEmptyMarkdownString(z)||i.push(...asArray(z).map(e))}return i}}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)}},MarginHoverWidget_1;const $$2=$$f;var qr;let MarginHoverWidget=(qr=class 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._register(addStandardDisposableListener(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=$$2("div.hover-row.markdown-hover"),y=append$2(g,$$2("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=qr,qr.ID="editor.contrib.modesGlyphHoverWidget",qr);MarginHoverWidget=MarginHoverWidget_1=__decorate$K([__param$G(1,ILanguageService),__param$G(2,IOpenerService)],MarginHoverWidget);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)}},As;let MarginHoverController=(As=class extends Disposable{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new DisposableStore,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler(()=>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,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},As.ID="editor.contrib.marginHover",As);MarginHoverController=__decorate$J([__param$F(1,IInstantiationService)],MarginHoverController);class HoverAccessibleView{}class HoverAccessibilityHelp{}class ExtHoverAccessibleView{}registerEditorContribution(ContentHoverController.ID,ContentHoverController,2);registerEditorContribution(MarginHoverController.ID,MarginHoverController,2);registerEditorAction(ShowOrFocusHoverAction);registerEditorAction(ShowDefinitionPreviewHoverAction);registerEditorAction(ScrollUpHoverAction);registerEditorAction(ScrollDownHoverAction);registerEditorAction(ScrollLeftHoverAction);registerEditorAction(ScrollRightHoverAction);registerEditorAction(PageUpHoverAction);registerEditorAction(PageDownHoverAction);registerEditorAction(GoToTopHoverAction);registerEditorAction(GoToBottomHoverAction);registerEditorAction(IncreaseHoverVerbosityLevel);registerEditorAction(DecreaseHoverVerbosityLevel);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),"; }")))});AccessibleViewRegistry.register(new HoverAccessibleView);AccessibleViewRegistry.register(new HoverAccessibilityHelp);AccessibleViewRegistry.register(new ExtHoverAccessibleView);function getSpaceCnt(n,e){let t=0;for(let i=0;ii-1)return[];const{tabSize:y,indentSize:k,insertSpaces:L}=n.getOptions(),z=(ae,le)=>(le=le||1,ShiftCommand.shiftIndent(ae,ae.length+le,y,k,L)),V=(ae,le)=>(le=le||1,ShiftCommand.unshiftIndent(ae,ae.length+le,y,k,L)),j=[],ie=n.getLineContent(t);let oe=getLeadingWhitespace(ie),re=oe;g.shouldIncrease(t)?(re=z(re),oe=z(oe)):g.shouldIndentNextLine(t)&&(re=z(re)),t++;for(let ae=t;ae<=i;ae++){if(doesLineStartWithString(n,ae))continue;const le=n.getLineContent(ae),de=getLeadingWhitespace(le),ue=re;g.shouldDecrease(ae,ue)&&(re=V(re),oe=V(oe)),de!==re&&j.push(EditOperation.replaceMove(new Selection$1(ae,1,ae,de.length+1),normalizeIndentation(re,k,L))),!g.shouldIgnore(ae)&&(g.shouldIncrease(ae,ue)?(oe=z(oe),re=oe):g.shouldIndentNextLine(ae,ue)?re=z(re):re=oe)}return j}function doesLineStartWithString(n,e){return n.tokenization.isCheapToTokenize(e)?n.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}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)}};const wl=class wl extends EditorAction{constructor(){super({id:wl.ID,label:localize("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:EditorContextKeys.writable,metadata:{description:localize2("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(g,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[y]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};wl.ID="editor.action.indentationToSpaces";let IndentationToSpacesAction=wl;const El=class El extends EditorAction{constructor(){super({id:El.ID,label:localize("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:EditorContextKeys.writable,metadata:{description:localize2("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(g,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[y]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};El.ID="editor.action.indentationToTabs";let IndentationToTabsAction=El;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(V=>({id:V.toString(),label:V.toString(),description:V===y.tabSize&&V===k.tabSize?localize("configuredTabSize","Configured Tab Size"):V===y.tabSize?localize("defaultTabSize","Default Tab Size"):V===k.tabSize?localize("currentTabSize","Current Tab Size"):void 0})),z=Math.min(g.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(L,{placeHolder:localize({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:L[z]}).then(V=>{if(V&&g&&!g.isDisposed()){const j=parseInt(V.label,10);this.displaySizeOnly?g.updateOptions({tabSize:j}):g.updateOptions({tabSize:j,indentSize:j,insertSpaces:this.insertSpaces})}})},50)}}const xl=class xl extends ChangeIndentationSizeAction{constructor(){super(!1,!1,{id:xl.ID,label:localize("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:localize2("indentUsingTabsDescription","Use indentation with tabs.")}})}};xl.ID="editor.action.indentUsingTabs";let IndentUsingTabs=xl;const kl=class kl extends ChangeIndentationSizeAction{constructor(){super(!0,!1,{id:kl.ID,label:localize("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:localize2("indentUsingSpacesDescription","Use indentation with spaces.")}})}};kl.ID="editor.action.indentUsingSpaces";let IndentUsingSpaces=kl;const Tl=class Tl extends ChangeIndentationSizeAction{constructor(){super(!0,!0,{id:Tl.ID,label:localize("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:localize2("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};Tl.ID="editor.action.changeTabDisplaySize";let ChangeTabDisplaySize=Tl;const Il=class Il extends EditorAction{constructor(){super({id:Il.ID,label:localize("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:localize2("detectIndentationDescription","Detect the indentation from content.")}})}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)}};Il.ID="editor.action.detectIndentation";let DetectIndentation=Il;class ReindentLinesAction extends EditorAction{constructor(){super({id:"editor.action.reindentlines",label:localize("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:EditorContextKeys.writable,metadata:{description:localize2("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}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,metadata:{description:localize2("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}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,z=k.endLineNumber;if(L!==z&&k.endColumn===1&&z--,L===1){if(L===z)continue}else L--;const V=getReindentEditOperations(r,i,L,z);y.push(...V)}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)}}var Ms;let AutoIndentOnPaste=(Ms=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||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(),z=[],V={shiftIndent:re=>ShiftCommand.shiftIndent(re,re.length+1,y,k,L),unshiftIndent:re=>ShiftCommand.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(g,i,i.getLanguageId(),j,V,this._languageConfigurationService);if(re!==null){const ae=getLeadingWhitespace(ie),le=getSpaceCnt(re,y),de=getSpaceCnt(ae,y);if(le!==de){const ue=generateIndent(le,y,L);z.push({range:new Range$2(j,1,j,ae.length+1),text:ue}),ie=ue+ie.substring(ae.length)}else{const ue=getIndentMetadata(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,V,this._languageConfigurationService);if(ae!==null){const le=getSpaceCnt(ae,y),de=getSpaceCnt(getLeadingWhitespace(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),_e=getLeadingWhitespace(pe),xe=getSpaceCnt(_e,y)+ue,Ie=generateIndent(xe,y,L);Ie!==_e&&z.push({range:new Range$2(he,1,he,_e.length+1),text:Ie})}}}}if(z.length>0){this.editor.pushUndoStop();const re=new AutoIndentOnPasteCommand(z,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()}},Ms.ID="editor.contrib.autoIndentOnPaste",Ms);AutoIndentOnPaste=__decorate$I([__param$E(1,ILanguageConfigurationService)],AutoIndentOnPaste);function isStartOrEndInString(n,e){const t=i=>getStandardTokenTypeAtPosition(n,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function getIndentationEditOperations(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$D=function(n,e){return function(t,i){e(t,i,n)}},InPlaceReplaceController_1,Zo;let InPlaceReplaceController=(Zo=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 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$1(this.editor,5),k=r.uri;return this.editorWorkerService.canNavigateValueSet(k)?(this.currentRequest=createCancelablePromise(z=>this.editorWorkerService.navigateValueSet(k,g,t)),this.currentRequest.then(z=>{var re;if(!z||!z.range||!z.value||!y.validate(this.editor))return;const V=Range$2.lift(z.range);let j=z.range;const ie=z.value.length-(g.endColumn-g.startColumn);j={startLineNumber:j.startLineNumber,startColumn:j.startColumn,endLineNumber:j.endLineNumber,endColumn:j.startColumn+z.value.length},ie>1&&(g=new Selection$1(g.startLineNumber,g.startColumn,g.endLineNumber,g.endColumn+ie-1));const oe=new InPlaceReplaceCommand(V,g,z.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,oe),this.editor.pushUndoStop(),this.decorations.set([{range:j,options:InPlaceReplaceController_1.DECORATION}]),(re=this.decorationRemover)==null||re.cancel(),this.decorationRemover=timeout(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(onUnexpectedError)}).catch(onUnexpectedError)):Promise.resolve(void 0)}},InPlaceReplaceController_1=Zo,Zo.ID="editor.contrib.inPlaceReplaceController",Zo.DECORATION=ModelDecorationOptions.register({description:"in-place-replace",className:"valueSetReplacement"}),Zo);InPlaceReplaceController=InPlaceReplaceController_1=__decorate$H([__param$D(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 z=n.getLineContent(k),V=z.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$C=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.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(this._autoIndent,le,e.getLanguageIdAtPosition(j,1),y.startLineNumber,V,this._languageConfigurationService);if(de!==null){const ue=getLeadingWhitespace(e.getLineContent(j)),he=getSpaceCnt(de,k),pe=getSpaceCnt(ue,k);he!==pe&&(oe=generateIndent(he,k,z)+this.trimStart(ie))}}t.addEditOperation(new Range$2(y.startLineNumber,1,y.startLineNumber,1),oe+"\n");const ae=this.matchEnterRuleMovingDown(e,V,k,y.startLineNumber,j,oe);if(ae!==null)ae!==0&&this.getIndentEditsOfMovingBlock(e,t,y,k,z,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(this._autoIndent,le,e.getLanguageIdAtPosition(j,1),y.startLineNumber+1,V,this._languageConfigurationService);if(de!==null){const ue=getLeadingWhitespace(e.getLineContent(y.startLineNumber)),he=getSpaceCnt(de,k),pe=getSpaceCnt(ue,k);if(he!==pe){const _e=he-pe;this.getIndentEditsOfMovingBlock(e,t,y,k,z,_e)}}}}else t.addEditOperation(new Range$2(y.startLineNumber,1,y.startLineNumber,1),oe+"\n")}else if(j=y.startLineNumber-1,ie=e.getLineContent(j),t.addEditOperation(new Range$2(j,1,j+1,1),null),t.addEditOperation(new Range$2(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,V,k,y.startLineNumber,y.startLineNumber-2);if(re!==null)re!==0&&this.getIndentEditsOfMovingBlock(e,t,y,k,z,re);else{const ae=getGoodIndentForLine(this._autoIndent,oe,e.getLanguageIdAtPosition(y.startLineNumber,1),j,V,this._languageConfigurationService);if(ae!==null){const le=getLeadingWhitespace(e.getLineContent(y.startLineNumber)),de=getSpaceCnt(ae,k),ue=getSpaceCnt(le,k);if(de!==ue){const he=de-ue;this.getIndentEditsOfMovingBlock(e,t,y,k,z,he)}}}}}this._selectionId=t.trackSelection(y)}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 z=getLeadingWhitespace(y);const V=getIndentMetadata(e,r,this._languageConfigurationService);V!==null&&V&2&&(z=t.unshiftIndent(z));const j=getSpaceCnt(z,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 V=e.getLineContent(k);if(lastNonWhitespaceIndex(V)>=0)break;k--}if(k<1||r>e.getLineCount())return null;const L=e.getLineMaxColumn(k),z=getEnterAction(this._autoIndent,e,new Range$2(k,L,k,L),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,z)}}matchEnterRule(e,t,i,r,g,y){let k=g;for(;k>=1;){let V;if(k===g&&y!==void 0?V=y:V=e.getLineContent(k),lastNonWhitespaceIndex(V)>=0)break;k--}if(k<1||r>e.getLineCount())return null;const L=e.getLineMaxColumn(k),z=getEnterAction(this._autoIndent,e,new Range$2(k,L,k,L),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,z)}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),z=getLeadingWhitespace(L),j=getSpaceCnt(z,r)+y,ie=generateIndent(j,r,g);ie!==z&&(t.addEditOperation(new Range$2(k,1,k,z.length+1),ie),k===i.endLineNumber&&i.endColumn<=z.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(V.positionLineNumber,V.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}),z=new TrimTrailingWhitespaceCommand(g,r,L);t.pushUndoStop(),t.executeCommands(this.id,[z]),t.pushUndoStop()}};Ll.ID="editor.action.trimTrailingWhitespace";let TrimTrailingWhitespaceAction=Ll;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,z=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,V.positionColumn,j-g,V.positionColumn)),g+=V.endLineNumber-V.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,EnterOperation.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,EnterOperation.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,z=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=[],z=[];let V=r,j=0;for(let ie=0,oe=g.length;ie=1){let $e=!0;_e===""&&($e=!1),$e&&(_e.charAt(_e.length-1)===" "||_e.charAt(_e.length-1)===" ")&&($e=!1,_e=_e.replace(/[\s\uFEFF\xA0]+$/g," "));const Oe=Ie.substr(Ne-1);_e+=($e?" ":"")+Oe,$e?de=Oe.length+1:de=Oe.length}else de=0}const Ce=new Range$2(ae,le,ue,he);if(!Ce.isEmpty()){let xe;re.isEmpty()?(L.push(EditOperation.replace(Ce,_e)),xe=new Selection$1(Ce.startLineNumber-j,_e.length-de+1,ae-j,_e.length-de+1)):re.startLineNumber===re.endLineNumber?(L.push(EditOperation.replace(Ce,_e)),xe=new Selection$1(re.startLineNumber-j,re.startColumn,re.endLineNumber-j,re.endColumn)):(L.push(EditOperation.replace(Ce,_e)),xe=new Selection$1(re.startLineNumber-j,re.startColumn,re.startLineNumber-j,_e.length-pe)),Range$2.intersectRanges(Ce,r)!==null?V=xe:z.push(xe)}j+=Ce.endLineNumber-Ce.startLineNumber}z.unshift(V),t.pushUndoStop(),t.executeEdits(this.id,L,z),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=V){if(z.lineNumber===r.getLineCount())continue;const j=new Range$2(z.lineNumber,Math.max(1,z.column-1),z.lineNumber+1,1),ie=r.getValueInRange(j).split("").reverse().join("");g.push(new ReplaceCommand(new Selection$1(z.lineNumber,Math.max(1,z.column-1),z.lineNumber+1,1),ie))}else{const j=new Range$2(z.lineNumber,Math.max(1,z.column-1),z.lineNumber,z.column+1),ie=r.getValueInRange(j).split("").reverse().join("");g.push(new ReplaceCommandThatPreservesSelection(j,ie,new Selection$1(z.lineNumber,z.column+1,z.lineNumber,z.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(132),y=[];for(const k of i)if(k.isEmpty()){const L=k.getStartPosition(),z=t.getConfiguredWordAtPosition(L);if(!z)continue;const V=new Range$2(L.lineNumber,z.startColumn,L.lineNumber,z.endColumn),j=r.getValueInRange(V);y.push(EditOperation.replace(V,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}}const Dl=class Dl 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=Dl.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,r=>r.toLocaleUpperCase()):e}};Dl.titleBoundary=new BackwardsCompatibleRegExp("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let TitleCaseAction=Dl;const xs=class xs 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=xs.caseBoundary.get(),r=xs.singleLetters.get();return!i||!r?e:e.replace(i,"$1_$2").replace(r,"$1_$2$3").toLocaleLowerCase()}};xs.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu"),xs.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let SnakeCaseAction=xs;const Nl=class Nl 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=Nl.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("")}};Nl.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm");let CamelCaseAction=Nl;const ks=class ks 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=ks.wordBoundary.get(),r=ks.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("")}};ks.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm"),ks.wordBoundaryToMaintain=new BackwardsCompatibleRegExp("(?<=\\.)","gm");let PascalCaseAction=ks;const Bo=class Bo 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=Bo.caseBoundary.get(),r=Bo.singleLetters.get(),g=Bo.underscoreBoundary.get();return!i||!r||!g?e:e.replace(g,"$1-$3").replace(i,"$1-$2").replace(r,"$1-$2").toLocaleLowerCase()}};Bo.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu"),Bo.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Bo.underscoreBoundary=new BackwardsCompatibleRegExp("(\\S)(_)(\\S)","gm");let KebabCaseAction=Bo;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$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)}},LinkedEditingContribution_1;const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new RawContextKey("LinkedEditingInputVisible",!1),DECORATION_CLASS_NAME="linked-editing-decoration";var Qo;let LinkedEditingContribution=(Qo=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(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$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: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 z=this._currentDecorations.getRange(0);if(z&&L.changes.every(V=>z.intersectRanges(V.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 z=!1;for(let j=0,ie=L.length;j({range:j,options:LinkedEditingContribution_1.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(V),this._syncRangesToken++}catch(y){isCancellationError(y)||onUnexpectedError(y),(this._currentRequestCts===g||!this._currentRequestCts)&&this.clearRanges()}}},LinkedEditingContribution_1=Qo,Qo.ID="editor.contrib.linkedEditing",Qo.DECORATION=ModelDecorationOptions.register({description:"linked-editing",stickiness:0,className:DECORATION_CLASS_NAME}),Qo);LinkedEditingContribution=LinkedEditingContribution_1=__decorate$F([__param$B(1,IContextKeyService),__param$B(2,ILanguageFeaturesService),__param$B(3,ILanguageConfigurationService),__param$B(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$A=function(n,e){return function(t,i){e(t,i,n)}},LinkDetector_1,Yr;let LinkDetector=(Yr=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,z=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 z=null;L.startsWith("/./")||L.startsWith("\\.\\")?z=".".concat(L.substr(1)):(L.startsWith("//./")||L.startsWith("\\\\.\\"))&&(z=".".concat(L.substr(2))),z&&(g=joinPath(y,z))}}}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.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},LinkDetector_1=Yr,Yr.ID="editor.linkDetector",Yr);LinkDetector=LinkDetector_1=__decorate$E([__param$A(1,IOpenerService),__param$A(2,INotificationService),__param$A(3,ILanguageFeaturesService),__param$A(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);const nc=class nc extends Disposable{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})}))}};nc.ID="editor.contrib.longLinesHelper";let LongLinesHelper=nc;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",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",wordHighlightBorder,localize("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const overviewRulerWordHighlightForeground=registerColor("editorOverviewRuler.wordHighlightForeground","#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","#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",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$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)}},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({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.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({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.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({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$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 z,V=null;if(L.isEmpty()){const j=e.getConfiguredWordAtPosition(L.getStartPosition());if(!j)return null;z=j.word,V=new Selection$1(L.startLineNumber,j.startColumn,L.startLineNumber,j.endColumn)}else z=e.getModel().getValueInRange(L).replace(/\r\n/g,"\n");return new MultiCursorSession(e,t,r,z,g,y,V)}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(132):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(132):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(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}const Rl=class Rl extends Disposable{static get(e){return e.getContribution(Rl.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,z=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$1(g.range.startLineNumber,g.range.startColumn,g.range.endLineNumber,g.range.endColumn)))}}};Rl.ID="editor.contrib.multiCursorController";let MultiCursorSelectionController=Rl;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({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"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({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"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({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"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}}var Xr;let SelectionHighlighter=(Xr=class extends Disposable{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(()=>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.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 V=i.getSelections();if(V.length>1){const ie=y.getState().matchCase;if(!modelRangesContainSameText(i.getModel(),V,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(),z=L.matchCase;if(L.isRevealed){let V=L.searchString;z||(V=V.toLowerCase());let j=k.searchText;if(z||(j=j.toLowerCase()),V===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(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$2.compareRangesUsingStarts);const g=[];for(let z=0,V=0,j=i.length,ie=r.length;z=ie)g.push(oe),z++;else{const re=Range$2.compareRangesUsingStarts(oe,r[V]);re<0?((r[V].isEmpty()||!Range$2.areIntersecting(oe,r[V]))&&g.push(oe),z++):(re>0||z++,V++)}}const y=this.editor.getOption(81)!=="off",k=this._languageFeaturesService.documentHighlightProvider.has(t)&&y,L=g.map(z=>({range:z,options:getSelectionHighlightDecorationOptions(k)}));this._decorations.set(L)}dispose(){this._setState(null),super.dispose()}},SelectionHighlighter_1=Xr,Xr.ID="editor.contrib.selectionHighlighter",Xr);SelectionHighlighter=SelectionHighlighter_1=__decorate$D([__param$z(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$y=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,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived(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,z=y.parts.length===1&&y.parts[0].lines.every(he=>he.length===0),V=[],j=[];function ie(he,pe){if(j.length>0){const _e=j[j.length-1];pe&&_e.decorations.push(new LineDecoration(_e.content.length+1,_e.content.length+1+he[0].length,pe,0)),_e.content+=he[0],he=he.slice(1)}for(const _e of he)j.push({content:_e,decorations:pe?[new LineDecoration(1,_e.length+1,pe,0)]:[]})}const oe=g.getLineContent(y.lineNumber);let re,ae=0;if(!z&&(L||!k)){for(const he of y.parts){let pe=he.lines;k&&!L&&(ie(pe,INLINE_EDIT_DESCRIPTION),pe=[]),re===void 0?(V.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),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(re,oe.length+1):void 0,de=L||!k?y.lineNumber:k.endLineNumber-1;return{inlineTexts:V,additionalLines:j,hiddenRange:le,lineNumber:de,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:g,range:k,isSingleLine:L,isPureRemove:z}}),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 L=g.range.endLineNumber-g.range.startLineNumber;for(let z=0;z{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations(this.editor,this.decorations))}};GhostTextWidget=__decorate$C([__param$y(2,ILanguageService)],GhostTextWidget);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$x=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,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=derived(this,r=>{var L,z,V;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$1(g.lineNumber,Math.min(y,(V=(z=this.sessionPosition)==null?void 0:z.column)!=null?V:Number.MAX_SAFE_INTEGER));return this.sessionPosition=k,k}),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$B([__param$x(2,IInstantiationService)],InlineEditHintsWidget);var Jo;let InlineEditHintsContentWidget=(Jo=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$1("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[h$1("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[z,V]of this.inlineCompletionsActionsMenus.getActions())for(const j of V)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_1=Jo,Jo._dropDownVisible=!1,Jo.id=0,Jo);InlineEditHintsContentWidget=InlineEditHintsContentWidget_1=__decorate$B([__param$x(3,IInstantiationService),__param$x(4,IContextKeyService),__param$x(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$1("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,z,V){super(e,{resetMenu:i,...r},g,y,k,L,z,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 i,r,g,y,k,L,z;const e=[],t=[];createAndFillInActionBarActions(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,(z=(L=this.options2)==null?void 0:L.toolbarOptions)==null?void 0:z.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){equals$2(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar=__decorate$B([__param$x(4,IMenuService),__param$x(5,IContextKeyService),__param$x(6,IContextMenuService),__param$x(7,IKeybindingService),__param$x(8,ICommandService),__param$x(9,ITelemetryService)],CustomizedMenuWorkbenchToolBar);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)}},InlineEditSideBySideWidget_1,InlineEditSideBySideContentWidget_1;function*range$1(n,e,t=1){e===void 0&&([e,n]=[n,0]);for(let i=n;ig.replace(new RegExp("^"+e),"")),shift:t}}var Zr;let InlineEditSideBySideWidget=(Zr=class extends Disposable{static _createUniqueUri(){return URI.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(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 z=Array.from(range$1(k.range.startLineNumber,k.range.endLineNumber+1)),V=z.map(ae=>L.getLineLastNonWhitespaceColumn(ae)),j=Math.max(...V),ie=z[V.indexOf(j)],oe=new Position$1(ie,j);return{top:k.range.startLineNumber,left:oe}}),this._text=derived(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(()=>this._modelService.createModel("",null,InlineEditSideBySideWidget_1._createUniqueUri())).keepObserved(this._store),this._modifiedModel=derivedDisposable(()=>this._modelService.createModel("",null,InlineEditSideBySideWidget_1._createUniqueUri())).keepObserved(this._store),this._diff=derived(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(this,y=>{const k=this._model.read(y);if(!k)return;const L=this._editor.getModel();if(!L)return;const z=removeIndentation(L.getValueInRange(k.range).split("\n")).text.join("\n"),V=removeIndentation(k.text.split("\n")).text.join("\n");this._originalModel.get().setValue(z),this._modifiedModel.get().setValue(V);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.None);if(!ie.identical)return ie.changes})}),this._register(autorunWithStore((y,k)=>{if(!this._model.read(y)||this._position.get()===null)return;const z=k.add(this._instantiationService.createInstance(InlineEditSideBySideContentWidget,this._editor,this._position,this._text.map(V=>V.text),this._text.map(V=>V.shift),this._diff));e.addOverlayWidget(z),k.add(toDisposable(()=>e.removeOverlayWidget(z)))}))}},InlineEditSideBySideWidget_1=Zr,Zr._modelId=0,Zr);InlineEditSideBySideWidget=InlineEditSideBySideWidget_1=__decorate$A([__param$w(2,IInstantiationService),__param$w(3,IDiffProviderFactoryService),__param$w(4,IModelService)],InlineEditSideBySideWidget);var Qr;let InlineEditSideBySideContentWidget=(Qr=class extends Disposable{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=$$f("div.inlineEditSideBySide",void 0),this._scrollChanged=observableSignalFromEvent("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(EmbeddedCodeEditorWidget,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,"",(L=(k=this._editor.getModel())==null?void 0:k.getLanguageId())!=null?L:PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=derived(z=>{const V=this._text.read(z);V&&this._previewTextModel.setValue(V)}).recomputeInitiallyAndOnChange(this._store),this._decorations=derived(this,z=>{this._setText.read(z);const V=this._position.read(z);if(!V)return{org:[],mod:[]};const j=this._diff.read(z);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$2(le.startLineNumber+V.top-1,le.startColumn+re,le.endLineNumber+V.top-1,le.endColumn+re);for(const le of j)if(le.original.isEmpty||ie.push({range:ae(le.original.toInclusiveRange()),options:diffLineDeleteDecorationBackgroundWithIndicator}),le.modified.isEmpty||oe.push({range:le.modified.toInclusiveRange(),options:diffLineAddDecorationBackgroundWithIndicator}),le.modified.isEmpty||le.original.isEmpty)le.original.isEmpty||ie.push({range:ae(le.original.toInclusiveRange()),options:diffWholeLineDeleteDecoration}),le.modified.isEmpty||oe.push({range:le.modified.toInclusiveRange(),options:diffWholeLineAddDecoration});else for(const de of le.innerChanges||[])le.original.contains(de.originalRange.startLineNumber)&&ie.push({range:ae(de.originalRange),options:de.originalRange.isEmpty()?diffDeleteDecorationEmpty:diffDeleteDecoration}),le.modified.contains(de.modifiedRange.startLineNumber)&&oe.push({range:de.modifiedRange,options:de.modifiedRange.isEmpty()?diffAddDecorationEmpty:diffAddDecoration});return{org:ie,mod:oe}}),this._originalDecorations=derived(this,z=>this._decorations.read(z).org),this._modifiedDecorations=derived(this,z=>this._decorations.read(z).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(autorun(z=>{const V=this._previewEditorObs.contentWidth.read(z),j=this._text.read(z).split("\n").length-1,ie=this._editor.getOption(67)*j;V<=0||this._previewEditor.layout({height:ie,width:V})})),this._register(autorun(z=>{this._position.read(z),this._editor.layoutOverlayWidget(this)})),this._register(autorun(z=>{this._scrollChanged.read(z),this._position.read(z)&&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$1(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=Qr,Qr.id=0,Qr);InlineEditSideBySideContentWidget=InlineEditSideBySideContentWidget_1=__decorate$A([__param$w(5,IInstantiationService)],InlineEditSideBySideContentWidget);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)}},InlineEditController_1,Xn;let InlineEditController=(Xn=class extends Disposable{static get(e){return e.getContribution(InlineEditController_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.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=InlineEditController_1.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=observableValue(this,void 0),this._currentWidget=derivedDisposable(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(le,[new GhostTextPart(de,ue,!1)]),pe=ae.range.startLineNumber===ae.range.endLineNumber&&he.parts.length===1&&he.parts[0].lines.length===1,_e=ae.text==="";return!pe&&!_e?void 0:this.instantiationService.createInstance(GhostTextWidget,this.editor,{ghostText:constObservable(he),minReservedLineCount:constObservable(0),targetTextModel:constObservable((xe=this.editor.getModel())!=null?xe:void 0),range:constObservable(ae.range)})}),this._isAccepting=observableValue(this,!1),this._enabled=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const z=observableSignalFromEvent("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(autorun(re=>{this._enabled.read(re)&&(z.read(re),!this._isAccepting.read(re)&&this.getInlineEdit(e,!0))}));const V=observableFromEvent(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(autorun(re=>{if(!this._enabled.read(re))return;const ae=V.read(re);ae&&this.checkCursorPosition(ae)})),this._register(autorun(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("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(autorun(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("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(autorun(re=>{this._enabled.read(re)&&(ie.read(re),this.getInlineEdit(e,!0))}));const oe=this._register(createStyleSheet2());this._register(autorun(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(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$2.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$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 V=await y.provideInlineEdit(i,{triggerKind:L},k);if(V&&!(k.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)&&this.validateInlineEdit(e,V))return V}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.replace(Range$2.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,onUnexpectedExternalError),this.freeEdit(e),transaction(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$1.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),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=Xn,Xn.ID="editor.contrib.inlineEditController",Xn.inlineEditVisibleKey="inlineEditVisible",Xn.inlineEditVisibleContext=new RawContextKey(Xn.inlineEditVisibleKey,!1),Xn.cursorAtInlineEditKey="cursorAtInlineEdit",Xn.cursorAtInlineEditContext=new RawContextKey(Xn.cursorAtInlineEditKey,!1),Xn);InlineEditController=InlineEditController_1=__decorate$z([__param$v(1,IInstantiationService),__param$v(2,IContextKeyService),__param$v(3,ILanguageFeaturesService),__param$v(4,ICommandService),__param$v(5,IConfigurationService),__param$v(6,IDiffProviderFactoryService),__param$v(7,IModelService)],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()}))})}let AcceptInlineEdit$1=class extends EditorAction{constructor(){super({id:inlineEditAcceptId$1,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())}}registerEditorAction(AcceptInlineEdit$1);registerEditorAction(RejectInlineEdit);registerEditorAction(JumpToInlineEdit);registerEditorAction(JumpBackInlineEdit);registerEditorAction(TriggerInlineEdit);registerEditorContribution(InlineEditController.ID,InlineEditController,3);const inlineEditAcceptId="editor.action.inlineEdits.accept",showPreviousInlineEditActionId="editor.action.inlineEdits.showPrevious",showNextInlineEditActionId="editor.action.inlineEdits.showNext",inlineEditVisible=new RawContextKey("inlineEditsVisible",!1,localize("inlineEditsVisible","Whether an inline edit is visible")),isPinnedContextKey=new RawContextKey("inlineEditsIsPinned",!1,localize("isPinned","Whether an inline edit is visible")),oc=class oc extends Disposable{constructor(e){super(),this._editor=e,this._editorObs=observableCodeEditor(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=derivedOpts({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((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const r=h$1("div.editorPlaceholder");i.add(autorun(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(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(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(0),position:constObservable(null),domNode:r.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};oc.ID="editor.contrib.placeholderText";let PlaceholderTextContribution=oc;function isOrWasTrue(n,e){return derivedObservableWithCache(n,(t,i)=>i===!0?!0:e(t))}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)}};class InlineEdit{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let InlineEditsWidget=class extends Disposable{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$1("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[h$1("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[h$1("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),h$1("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),h$1("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,"",PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=derived(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,"",PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(EmbeddedCodeEditorWidget,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},{contributions:EditorExtensionsRegistry.getSomeEditorContributions([SuggestController.ID,PlaceholderTextContribution.ID,ContextMenuController.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(EmbeddedCodeEditorWidget,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(this,y=>{var V;this._setText.read(y);const k=(V=this._edit.read(y))==null?void 0:V.changes;if(!k)return[];const L=[],z=[];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}),j.modified.isEmpty||z.push({range:j.modified.toInclusiveRange(),options:diffLineAddDecorationBackgroundWithIndicator}),j.modified.isEmpty||j.original.isEmpty)j.original.isEmpty||L.push({range:j.original.toInclusiveRange(),options:diffWholeLineDeleteDecoration}),j.modified.isEmpty||z.push({range:j.modified.toInclusiveRange(),options:diffWholeLineAddDecoration});else for(const ie of j.innerChanges||[])j.original.contains(ie.originalRange.startLineNumber)&&L.push({range:ie.originalRange,options:ie.originalRange.isEmpty()?diffDeleteDecorationEmpty:diffDeleteDecoration}),j.modified.contains(ie.modifiedRange.startLineNumber)&&z.push({range:ie.modifiedRange,options:ie.modifiedRange.isEmpty()?diffAddDecorationEmpty:diffAddDecoration});return z}),this._layout1=derived(this,y=>{const k=this._editor.getModel(),L=this._edit.read(y);if(!L)return null;const z=L.range;let V=0;for(let oe=z.startLineNumber;oe{const k=this._edit.read(y);if(!k)return null;const L=k.range,z=this._editorObs.scrollLeft.read(y),V=this._layout1.read(y).left+20-z,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(V,j),re=new Point(V,ie),ae=ie-j,le=50,de=this._editor.getOption(67)*k.newLines.length,ue=ae-de,he=new Point(V+le,j+ue/2),pe=new Point(V+le,ie-ue/2);return{topCode:oe,bottomCode:re,codeHeight:ae,topEdit:he,bottomEdit:pe,editHeight:de}});const g=derived(this,y=>this._edit.read(y)!==void 0||this._userPrompt.read(y)!==void 0);this._register(applyStyle(this._elements.root,{display:derived(this,y=>g.read(y)?"block":"none")})),this._register(appendRemoveOnDispose(this._editor.getDomNode(),this._elements.root)),this._register(observableCodeEditor(e).createOverlayWidget({domNode:this._elements.root,position:constObservable(null),allowEditorOverflow:!1,minContentWidthInPx:derived(y=>{var z;const k=(z=this._layout1.read(y))==null?void 0:z.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(y=>{const k=this._layout.read(y);if(!k)return;const{topCode:L,bottomCode:z,topEdit:V,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),V.deltaX(-ae-re),V.deltaX(-re)).lineTo(V).lineTo(j).lineTo(j.deltaX(-re)).curveTo(j.deltaX(-ae-re),z.deltaX(oe+ae),z.deltaX(oe)).lineTo(z).build();this._elements.path.setAttribute("d",le),this._elements.editorContainer.style.top="".concat(V.y,"px"),this._elements.editorContainer.style.left="".concat(V.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(y=>{const k=observableCodeEditor(this._promptEditor).isFocused.read(y);this._elements.root.classList.toggle("focused",k)}))}};InlineEditsWidget=__decorate$y([__param$u(3,IInstantiationService)],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;return t.add(autorun(i=>{const r=n.read(i);e.set(r,void 0)})),t.add(autorun(i=>{const r=e.read(i);n.set(r,void 0)})),t}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)}},InlineEditsModel_1,Jr;let InlineEditsModel=(Jr=class extends Disposable{static _createUniqueUri(){return URI.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(this),this._selectedInlineCompletionId=observableValue(this,void 0),this._isActive=observableValue(this,!1),this._originalModel=derivedDisposable(()=>this._modelService.createModel("",null,InlineEditsModel_1._createUniqueUri())).keepObserved(this._store),this._modifiedModel=derivedDisposable(()=>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(this,void 0),this.inlineEdit=derived(this,L=>{var z,V;return(V=(z=this._inlineEdit.read(L))==null?void 0:z.promiseResult.read(L))==null?void 0:V.data}),this._inlineEdit=derived(this,L=>{const z=this.selectedInlineEdit.read(L);if(!z)return;const V=z.inlineCompletion.range;if(z.inlineCompletion.insertText.trim()==="")return;let j=z.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(V).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.None);if(!le.identical)return new InlineEdit(LineRange$1.fromRangeInclusive(V),ie(j),le.changes)})}),this._fetchStore=this._register(new DisposableStore),this._inlineEditsFetchResult=disposableObservableValue(this,void 0),this._inlineEdits=derivedOpts({owner:this,equalsFn:structuralEquals},L=>{var z,V;return(V=(z=this._inlineEditsFetchResult.read(L))==null?void 0:z.completions.map(j=>new InlineEditData(j)))!=null?V:[]}),this._fetchInlineEditsPromise=derivedHandleChanges({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:InlineCompletionTriggerKind$1.Automatic}),handleChange:(L,z)=>(L.didChange(this._forceUpdateExplicitlySignal)&&(z.inlineCompletionTriggerKind=InlineCompletionTriggerKind$1.Explicit),!0)},async(L,z)=>{var ae;this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(L),this._textModelVersionId.read(L);function V(le,de){return de(le)}const j=(ae=this._pinnedRange.range.read(L))!=null?ae:V(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:z.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(L)},oe=cancelOnDispose(this._fetchStore);await timeout(200,oe);const re=await provideInlineCompletions(this.languageFeaturesService.inlineCompletionsProvider,j,this.textModel,ie,oe);oe.isCancellationRequested||this._inlineEditsFetchResult.set(re,void 0)}),this._filteredInlineEditItems=derivedOpts({owner:this,equalsFn:itemsEquals()},L=>this._inlineEdits.read(L)),this.selectedInlineCompletionIndex=derived(this,L=>{const z=this._selectedInlineCompletionId.read(L),V=this._filteredInlineEditItems.read(L),j=this._selectedInlineCompletionId===void 0?-1:V.findIndex(ie=>ie.semanticId===z);return j===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):j}),this.selectedInlineEdit=derived(this,L=>{const z=this._filteredInlineEditItems.read(L),V=this.selectedInlineCompletionIndex.read(L);return z[V]}),this._register(recomputeInitiallyAndOnChange(this._fetchInlineEditsPromise))}async triggerExplicitly(e){subtransaction(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){subtransaction(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;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},InlineEditsModel_1=Jr,Jr._modelId=0,Jr);InlineEditsModel=InlineEditsModel_1=__decorate$x([__param$t(4,ILanguageFeaturesService),__param$t(5,IDiffProviderFactoryService),__param$t(6,IModelService)],InlineEditsModel);class InlineEditData{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class TrackedRange extends Disposable{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=observableValue(this,[]),this.range=derived(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(()=>{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$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)}},InlineEditsController_1,es;let InlineEditsController=(es=class extends Disposable{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(this,k=>{var L;return(L=this._editorObs.cursorSelection.read(k))!=null?L:new Selection$1(1,1,1,1)}),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=derivedDisposable(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(InlineEditsModel,k),L,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=derivedObservableWithCache(this,(k,L)=>{var z;return L||((z=this.model.read(k))==null?void 0:z.inlineEdit.read(k))!==void 0}),this._widget=derivedDisposable(this,k=>{if(this._hadInlineEdit.read(k))return this._instantiationService.createInstance(readHotReloadableExport(InlineEditsWidget,k),this.editor,this.model.map((L,z)=>L==null?void 0:L.inlineEdit.read(z)),flattenSettableObservable(L=>{var z,V;return(V=(z=this.model.read(L))==null?void 0:z.userPrompt)!=null?V:observableValue("empty","")}))}),this._register(bindContextKey(inlineEditVisible,this._contextKeyService,k=>{var L;return!!((L=this.model.read(k))!=null&&L.inlineEdit.read(k))})),this._register(bindContextKey(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=es,es.ID="editor.contrib.inlineEditsController",es);InlineEditsController=InlineEditsController_1=__decorate$w([__param$s(1,IInstantiationService),__param$s(2,IContextKeyService),__param$s(3,ILanguageFeatureDebounceService),__param$s(4,ILanguageFeaturesService),__param$s(5,IConfigurationService)],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 $l=class $l extends EditorAction{constructor(){super({id:$l.ID,...labelAndAlias(localize2("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ContextKeyExpr.and(EditorContextKeys.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()}};$l.ID=showNextInlineEditActionId;let ShowNextInlineEditAction=$l;const Al=class Al extends EditorAction{constructor(){super({id:Al.ID,...labelAndAlias(localize2("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ContextKeyExpr.and(EditorContextKeys.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()}};Al.ID=showPreviousInlineEditActionId;let ShowPreviousInlineEditAction=Al;class TriggerInlineEditAction extends EditorAction{constructor(){super({id:"editor.action.inlineEdits.trigger",...labelAndAlias(localize2("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:EditorContextKeys.writable})}async run(e,t){const i=InlineEditsController.get(t);await asyncTransaction(async r=>{var g;await((g=i==null?void 0:i.model.get())==null?void 0:g.triggerExplicitly(r))})}}class AcceptInlineEdit extends EditorAction{constructor(){super({id:inlineEditAcceptId,...labelAndAlias(localize2("action.inlineEdits.accept","Accept Inline Edit")),precondition:inlineEditVisible,menuOpts:{menuId:MenuId.InlineEditsActions,title:localize("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Codicon.check},kbOpts:{primary:2058,weight:2e4,kbExpr:inlineEditVisible}})}async run(e,t){var r;t instanceof EmbeddedCodeEditorWidget&&(t=t.getParentEditor());const i=InlineEditsController.get(t);i&&((r=i.model.get())==null||r.accept(i.editor),i.editor.focus())}}const Ml=class Ml extends EditorAction{constructor(){super({id:Ml.ID,...labelAndAlias(localize2("action.inlineEdits.hide","Hide Inline Edit")),precondition:inlineEditVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=InlineEditsController.get(t);transaction(r=>{var g;(g=i==null?void 0:i.model.get())==null||g.stop(r)})}};Ml.ID="editor.action.inlineEdits.hide";let HideInlineEdit=Ml;registerEditorContribution(InlineEditsController.ID,InlineEditsController,3);registerEditorAction(TriggerInlineEditAction);registerEditorAction(ShowNextInlineEditAction);registerEditorAction(ShowPreviousInlineEditAction);registerEditorAction(AcceptInlineEdit);registerEditorAction(HideInlineEdit);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={}));const Pl=class Pl extends Disposable{constructor(e,t,i=Pl.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()}};Pl.DEFAULT_DELAY=120;let ParameterHintsModel=Pl;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$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)}},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."));var ts;let ParameterHintsWidget=(ts=class extends Disposable{constructor(e,t,i,r,g,y){super(),this.editor=e,this.model=t,this.telemetryService=y,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$2(e,$$1(".phwrapper"));t.tabIndex=-1;const i=append$2(t,$$1(".controls")),r=append$2(i,$$1(".button"+ThemeIcon.asCSSSelector(parameterHintsPreviousIcon))),g=append$2(i,$$1(".overloads")),y=append$2(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 z=append$2(k,$$1(".signature")),V=append$2(k,$$1(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:z,overloads:g,docs:V,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.fontFamily)};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.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 z;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$2(this.domNodes.signature,$$1(".code")),g=i.parameters.length>0,y=(z=i.activeParameter)!=null?z:e.activeParameter;if(g)this.renderParameters(r,i,y);else{const V=append$2(r,$$1("span"));V.textContent=i.label}const k=i.parameters[y];if(k!=null&&k.documentation){const V=$$1("span.documentation");if(typeof k.documentation=="string")V.textContent=k.documentation;else{const j=this.renderMarkdownDocs(k.documentation);V.appendChild(j.element)}append$2(this.domNodes.docs,$$1("p",{},V))}if(i.documentation!==void 0)if(typeof i.documentation=="string")append$2(this.domNodes.docs,$$1("p",{},i.documentation));else{const V=this.renderMarkdownDocs(i.documentation);append$2(this.domNodes.docs,V.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 V="";const j=i.parameters[y];Array.isArray(j.label)?V=i.label.substring(j.label[0],j.label[1]):V=j.label,j.documentation&&(V+=typeof j.documentation=="string"?", ".concat(j.documentation):", ".concat(j.documentation.value)),i.documentation&&(V+=typeof i.documentation=="string"?", ".concat(i.documentation):", ".concat(i.documentation.value)),this.announcedLabel!==V&&(alert(localize("hint","{0}, hint",V)),this.announcedLabel=V)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new StopWatch,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(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$2(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_1=ts,ts.ID="editor.widget.parameterHintsWidget",ts);ParameterHintsWidget=ParameterHintsWidget_1=__decorate$v([__param$r(2,IContextKeyService),__param$r(3,IOpenerService),__param$r(4,ILanguageService),__param$r(5,ITelemetryService)],ParameterHintsWidget);registerColor("editorHoverWidget.highlightForeground",listHighlightForeground,localize("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));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)}},ParameterHintsController_1,is;let ParameterHintsController=(is=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.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.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},ParameterHintsController_1=is,is.ID="editor.controller.parameterHints",is);ParameterHintsController=ParameterHintsController_1=__decorate$u([__param$q(1,IInstantiationService),__param$q(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$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)}};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((r,g)=>{const y=readHotReloadableExport(n(),r);g.add(this.instantiationService.createInstance(y,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function wrapInReloadableClass1(n){return isHotReloadEnabled()?createWrapper$1(n,BaseClass1):n()}let BaseClass1=class extends BaseClass{constructor(e,t){super(t),this.init(e)}};BaseClass1=__decorate$t([__param$p(1,IInstantiationService)],BaseClass1);registerEditorContribution(PlaceholderTextContribution.ID,wrapInReloadableClass1(()=>PlaceholderTextContribution),0);registerColor("editor.placeholder.foreground",ghostTextForeground,localize("placeholderForeground","Foreground color of the placeholder text in the editor."));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)}};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._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new StopWatch,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(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,z;if(!this._domNode)return;const t=e.getColor(widgetShadow),i=e.getColor(widgetBorder);this._domNode.style.backgroundColor=String((g=e.getColor(editorWidgetBackground))!=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))!=null?y:"");const r=e.getColor(inputBorder);this._inputWithButton.domNode.style.backgroundColor=String((k=e.getColor(inputBackground))!=null?k:""),this._inputWithButton.input.style.backgroundColor=String((L=e.getColor(inputBackground))!=null?L:""),this._inputWithButton.domNode.style.borderWidth=r?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=r?"solid":"none",this._inputWithButton.domNode.style.borderColor=(z=r==null?void 0:r.toString())!=null?z:"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._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(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 i,r;const[e,t]=this._acceptKeybindings;return this._label.innerText=localize({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(this._renameCandidateListView),assertType(this._nPxAvailableAbove!==void 0),assertType(this._nPxAvailableBelow!==void 0);const t=getTotalHeight(this._inputWithButton.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._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;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(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),L.add(addDisposableListener(this._inputWithButton.button,EventType$1.KEY_DOWN,V=>{const j=new StandardKeyboardEvent(V);(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$1(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(()=>{this._renameCts=void 0,g.dispose(!0)})),L.add(toDisposable(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),L.add(toDisposable(()=>this._candidates.clear()));const z=new DeferredPromise;return z.p.finally(()=>{L.dispose(),this._hide()}),this._currentCancelInput=V=>{var j;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(j=this._renameCandidateListView)==null||j.clearCandidates(),z.complete(V),!0},this._currentAcceptInput=V=>{this._trace("invoking _currentAcceptInput"),assertType(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(),z.complete({newName:ie,wantsPreview:i&&V,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 V;return this.cancelInput(!((V=this._domNode)!=null&&V.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),z.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),assertType(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new CancellationTokenSource$1;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(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._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=(...z)=>this._trace("_updateRenameCandidates",...z);r("start");const g=await raceCancellation(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),g===void 0){r("returning early - received updateRenameCandidates results - undefined");return}const y=g.flatMap(z=>z.status==="fulfilled"&&isDefined(z.value)?z.value:[]);r("received updateRenameCandidates results - total (unfiltered) ".concat(y.length," candidates."));const k=distinct(y,z=>z.newSymbolName);r("distinct candidates - ".concat(k.length," candidates."));const L=k.filter(({newSymbolName:z})=>z.trim().length>0&&z!==this._inputWithButton.input.value&&z!==t&&!this._candidates.has(z));if(r("valid distinct candidates - ".concat(y.length," candidates.")),L.forEach(z=>this._candidates.add(z.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=__decorate$s([__param$o(2,IThemeService),__param$o(3,IKeybindingService),__param$o(4,IContextKeyService),__param$o(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"),this._listContainer.className="rename-box rename-candidate-list-container",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(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(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();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.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 InputWithButton{constructor(){this._onDidInputChange=new Emitter$1,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new DisposableStore}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("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("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=localize("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(addDisposableListener(this.input,EventType$1.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(addDisposableListener(this.input,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(addDisposableListener(this.input,EventType$1.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(addDisposableListener(this.input,EventType$1.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(this.input,EventType$1.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return assertType(this._inputNode),this._inputNode}get button(){return assertType(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e,t;this._buttonState="sparkle",(e=this._sparkleIcon)!=null||(this._sparkleIcon=renderIcon(Codicon.sparkle)),clearNode(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(Codicon.primitiveSquare)),clearNode(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()}}const sa=class sa{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(sa._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 i;const t=!!((i=e.tags)!=null&&i.includes(NewSymbolNameTag$1.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+sa._PADDING*2}}dispose(){}};sa._PADDING=2;let RenameCandidateView=sa;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)}},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)}var ns;let RenameController=(ns=class{static get(e){return e.getContribution(RenameController_1.ID)}constructor(e,t,i,r,g,y,k,L,z){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=z,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 re,ae;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new CancellationTokenSource$1,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new RenameSkeleton(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const r=new EditorStateCancellationTokenSource(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?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(le))&&((re=MessageController.get(this.editor))==null||re.showMessage(le||localize("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.get(this.editor))==null||ae.showMessage(g.rejectReason,t);return}if(r.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const y=new EditorStateCancellationTokenSource(this.editor,5,g.range,this._cts.token),k=this.editor.getModel(),L=this._languageFeaturesService.newSymbolNamesProvider.all(k),z=await Promise.all(L.map(async le=>{var de;return[le,(de=await le.supportsAutomaticNewSymbolNamesTriggerKind)!=null?de:!1]})),V=(le,de)=>{let ue=z.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?V: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(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$2.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(le,{editor:this.editor,showPreview:ie.wantsPreview,label:localize("label","Renaming '{0}' to '{1}'",g==null?void 0:g.text,ie.newName),code:"undoredo.rename",quotableLabel:localize("quotableLabel","Renaming {0} to {1}",g==null?void 0:g.text,ie.newName),respectAutoSaveConfig:!0}).then(de=>{e("edits applied"),de.ariaSummary&&alert(localize("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("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("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=ns,ns.ID="editor.contrib.renameController",ns);RenameController=RenameController_1=__decorate$r([__param$n(1,IInstantiationService),__param$n(2,INotificationService),__param$n(3,IBulkEditService),__param$n(4,IEditorProgressService),__param$n(5,ILogService),__param$n(6,ITextResourceConfigurationService),__param$n(7,ILanguageFeaturesService),__param$n(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: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: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$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)}},Ps;let SectionHeaderDetector=(Ps=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 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(()=>{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),z=k.getStandardTokenType(L);return k.getLanguageId(L)===t.getLanguageId()&&z===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,z=null;try{L=await k.provideDocumentSemanticTokens(e,k===t?i:null,r)}catch(V){z=V,L=null}return(!L||!isSemanticTokens(L)&&!isSemanticTokensEdits(L))&&(L=null),new DocumentSemanticTokensResult(k,L,z)}));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 r;const i=(r=t.getValue(SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:n.getLanguageId(),resource:n.uri}))==null?void 0:r.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}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)}},ModelSemanticColoring_1;let DocumentSemanticTokensFeature=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._watchers=Object.create(null);const k=V=>{this._watchers[V.uri.toString()]=new ModelSemanticColoring(V,e,i,g,y)},L=(V,j)=>{j.dispose(),delete this._watchers[V.uri.toString()]},z=()=>{for(const V of t.getModels()){const j=this._watchers[V.uri.toString()];isSemanticColoringEnabled(V,i,r)?j||k(V):j&&L(V,j)}};t.getModels().forEach(V=>{isSemanticColoringEnabled(V,i,r)&&k(V)}),this._register(t.onModelAdded(V=>{isSemanticColoringEnabled(V,i,r)&&k(V)})),this._register(t.onModelRemoved(V=>{const j=this._watchers[V.uri.toString()];j&&L(V,j)})),this._register(r.onDidChangeConfiguration(V=>{V.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)&&z()})),this._register(i.onDidColorThemeChange(z))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};DocumentSemanticTokensFeature=__decorate$p([__param$l(0,ISemanticTokensStylingService),__param$l(1,IModelService),__param$l(2,IThemeService),__param$l(3,IConfigurationService),__param$l(4,ILanguageFeatureDebounceService),__param$l(5,ILanguageFeaturesService)],DocumentSemanticTokensFeature);var er;let ModelSemanticColoring=(er=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:z,tokens:V}=L,j=this._semanticTokensStylingService.getStyling(z);this._setDocumentSemanticTokens(z,V||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,z=new Uint32Array(L.length+k);let V=L.length,j=z.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=V-(oe.start+oe.deleteCount);re>0&&(ModelSemanticColoring_1._copy(L,V-re,z,j-re,re),j-=re),oe.data&&(ModelSemanticColoring_1._copy(oe.data,0,z,j-oe.data.length,oe.data.length),j-=oe.data.length),V=oe.start}V>0&&ModelSemanticColoring_1._copy(L,0,z,0,V),t={resultId:t.resultId,data:z}}}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 z of k)for(const V of L.changes)z.applyEdit(V.range,V.text);this._model.tokenization.setSemanticTokens(k,!0)}else this._model.tokenization.setSemanticTokens(null,!0);y()}},ModelSemanticColoring_1=er,er.REQUEST_MIN_DELAY=300,er.REQUEST_MAX_DELAY=2e3,er);ModelSemanticColoring=ModelSemanticColoring_1=__decorate$p([__param$l(1,ISemanticTokensStylingService),__param$l(2,IThemeService),__param$l(3,ILanguageFeatureDebounceService),__param$l(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$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)}},Os;let ViewportSemanticTokensContribution=(Os=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,z=this._semanticTokensStylingService.getStyling(k);e.tokenization.setPartialSemanticTokens(t,toMultilineTokens2(L,z,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}},Os.ID="editor.contrib.viewportSemanticTokens",Os);ViewportSemanticTokensContribution=__decorate$o([__param$k(1,ISemanticTokensStylingService),__param$k(2,IThemeService),__param$k(3,IConfigurationService),__param$k(4,ILanguageFeatureDebounceService),__param$k(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,z=k,V=0;for(;L>=0;L--){const j=g.charCodeAt(L);if(L!==k&&(j===95||j===45))break;if(isLowerAsciiLetter(j)&&isUpperAsciiLetter(V))break;V=j}for(L+=1;z0&&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$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)}},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}}var os;let SmartSelectController=(os=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.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(114),CancellationToken.None).then(g=>{var y;if(!(!isNonEmptyArray(g)||g.length!==t.length)&&!(!this._editor.hasModel()||!equals$2(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.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$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_1=os,os.ID="editor.contrib.smartSelectController",os);SmartSelectController=SmartSelectController_1=__decorate$n([__param$j(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({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&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({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&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(z=>{if(isNonEmptyArray(z)&&z.length===t.length)for(let V=0;V{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 z=[];let V;for(const ie of L)(!V||Range$2.containsRange(ie,V)&&!Range$2.equalsRange(ie,V))&&(z.push(ie),V=ie);if(!i.selectLeadingAndTrailingWhitespace)return z;const j=[z[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(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(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 z;try{z=LineDecoration.filter(k.inlineDecorations,y,k.minColumn,k.maxColumn)}catch(pe){z=[]}const V=new RenderLineInput(!0,!0,k.content,k.continuesWithWrappedLine,k.isBasicASCII,k.containsRTL,0,k.tokens,z,k.tabSize,k.startVisibleColumn,1,1,1,500,"none",!0,!0,null),j=new StringBuilder(2e3),ie=renderViewLine(V,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 V;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+((V=e.foldingIcon)!=null&&V.isCollapsed?1:0),"px"),z="".concat(t*this._lineHeight,"px");return i.style.top=g?L:z,r.style.top=g?L:z,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),z=new StickyFoldingIcon(L,y,r.getEndLineNumber(g),this._lineHeight);return z.setVisible(this._isOnGlyphMargin?!0:L||i==="always"),z.domNode.setAttribute(STICKY_IS_FOLDING_ICON_ATTR,""),z}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(t.characterMapping,e,0);return new Position$1(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);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$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)}},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._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Delayer(300)),this._updateOperation=this._register(new DisposableStore),this._editor.getOption(116).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$m([__param$i(2,IInstantiationService),__param$i(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 y;const{stickyOutlineElement:i,providerID:r}=this._stickyModelFromOutlineModel(t,(y=this._stickyModel)==null?void 0:y.outlineProviderId),g=this._editor.getModel();return new StickyModel(g.uri,g.getVersionId(),i,r)}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="",z=-1,V;for(const[j,ie]of e.children.entries()){const oe=this._findSumOfRangesOfGroup(ie);oe>z&&(V=ie,z=oe,L=ie.id)}t=L,i=V.children}}else i=e.children;const r=[],g=Array.from(i.values()).sort((k,L)=>{const z=new StickyRange(k.symbol.range.startLineNumber,k.symbol.range.endLineNumber),V=new StickyRange(L.symbol.range.startLineNumber,L.symbol.range.endLineNumber);return this._comparator(z,V)});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$m([__param$i(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?void 0:t.compute(e))!=null?i:null}};StickyModelFromCandidateSyntaxFoldingProvider=__decorate$m([__param$i(2,ILanguageFeaturesService)],StickyModelFromCandidateSyntaxFoldingProvider);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)}};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(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(()=>{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(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||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 V=0;VV-j)),z=this.updateIndex(binarySearch(k,e.startLineNumber+r,(V,j)=>V-j));for(let V=L;V<=z;V++){const j=t.children[V];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 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=__decorate$l([__param$h(1,ILanguageFeaturesService),__param$h(2,ILanguageConfigurationService)],StickyLineCandidateProvider);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)}},StickyScrollController_1,rs;let StickyScrollController=(rs=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._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(this._editor),this._stickyLineCandidateProvider=new StickyLineCandidateProvider(this._editor,i,g),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=StickyScrollWidgetState.Empty,this._onDidResize(),this._readConfiguration();const L=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(V=>{this._readConfigurationChange(V)})),this._register(addDisposableListener(L,EventType$1.CONTEXT_MENU,async V=>{this._onContextMenu(getWindow$2(L),V)})),this._stickyScrollFocusedContextKey=EditorContextKeys.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=EditorContextKeys.stickyScrollVisible.bindTo(this._contextKeyService);const z=this._register(trackFocus(L));this._register(z.onDidBlur(V=>{this._positionRevealed===!1&&L.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(z.onDidFocus(V=>{this.focus()})),this._registerMouseListeners(),this._register(addDisposableListener(L,EventType$1.MOUSE_DOWN,V=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(StickyScrollController_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,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 z=this._stickyScrollWidget.getLineIndexFromChildDomNode(g.target);if(z===null)return;const V=new Position$1(this._endLineNumbers[z],1);this._revealLineInCenterIfOutsideViewport(V);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(g.target)){const z=this._stickyScrollWidget.getLineNumberFromChildDomNode(g.target);this._toggleFoldingRegionForLine(z);return}if(!this._stickyScrollWidget.isInStickyLine(g.target))return;let L=this._stickyScrollWidget.getEditorPositionFromNode(g.target);if(!L){const z=this._stickyScrollWidget.getLineNumberFromChildDomNode(g.target);if(z===null)return;L=new Position$1(z,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!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(addDisposableListener(r,EventType$1.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:z}=k;if(!L.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=L,e.clear();else if(z.style.textDecoration==="underline")return;const V=new CancellationTokenSource$1;e.add(toDisposable(()=>V.dispose(!0)));let j;getDefinitionsAtPosition(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Position$1(L.startLineNumber,L.startColumn+1),!1,V.token).then(ie=>{if(!V.token.isCancellationRequested)if(ie.length!==0){this._candidateDefinitionsLength=ie.length;const oe=z;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(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.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.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(k[0].startLineNumber,k[k.length-1].endLineNumber),z=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(L);for(const V of z){const j=V.startLineNumber,ie=V.endLineNumber,oe=V.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_1=rs,rs.ID="store.contrib.stickyScrollController",rs);StickyScrollController=StickyScrollController_1=__decorate$k([__param$g(1,IContextMenuService),__param$g(2,ILanguageFeaturesService),__param$g(3,IInstantiationService),__param$g(4,ILanguageConfigurationService),__param$g(5,ILanguageFeatureDebounceService),__param$g(6,IContextKeyService)],StickyScrollController);class ToggleStickyScroll extends Action2{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...localize2("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:localize({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:localize2("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:Categories.View,toggled:{condition:ContextKeyExpr.equals("config.editor.stickyScroll.enabled",!0),title:localize("stickyScroll","Sticky Scroll"),mnemonicTitle:localize({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&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 on the editor sticky scroll"),mnemonicTitle:localize({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&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.focus()}}class SelectNextStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:localize2("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:18}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))==null||i.focusNext()}}class SelectPreviousStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:localize2("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:16}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))==null||i.focusPrevious()}}class GoToStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:localize2("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:3}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))==null||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.selectEditor()}}registerEditorContribution(StickyScrollController.ID,StickyScrollController,1);registerAction2(ToggleStickyScroll);registerAction2(FocusStickyScroll);registerAction2(SelectPreviousStickyScrollLine);registerAction2(SelectNextStickyScrollLine);registerAction2(GoToStickyScrollLine);registerAction2(SelectEditor);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)}};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 e}};InlineCompletionResults=__decorate$j([__param$f(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 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.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.valueFor(y,L)!=="inline")return;let z=e.getWordAtPosition(t),V;if(z!=null&&z.word||(V=this._getTriggerCharacterInfo(e,t)),!(z!=null&&z.word)&&!V||(z||(z=e.getWordUntilPosition(t)),z.endColumn!==t.column))return;let j;const ie=e.getValueInRange(new Range$2(t.lineNumber,1,t.lineNumber,t.column));if(!V&&((oe=this._lastResult)!=null&&oe.canBeReused(e,t.lineNumber,z))){const re=new LineContext$1(ie,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=re,this._lastResult.acquire(),j=this._lastResult}else{const re=await provideSuggestionItems(this._languageFeatureService.completionProvider,e,t,new CompletionOptions(void 0,SuggestModel.createSuggestFilter(g).itemKind,V==null?void 0:V.providers),V&&{triggerKind:1,triggerCharacter:V.ch},r);let ae;re.needsClipboard&&(ae=await this._clipboardService.readText());const le=new CompletionModel(re.items,t.column,new LineContext$1(ie,0),WordDistance.None,g.getOption(119),g.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},ae);j=new InlineCompletionResults(e,t.lineNumber,z,le,re,this._suggestMemoryService)}return this._lastResult=j,j}handleItemDidShow(e,t){t.completion.resolve(CancellationToken.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var g;const i=e.getValueInRange(Range$2.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=__decorate$j([__param$f(0,ILanguageFeaturesService),__param$f(1,IClipboardService),__param$f(2,ISuggestMemoryService),__param$f(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);const Ol=class Ol extends Action2{constructor(){super({id:Ol.ID,title:localize2({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("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.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"))}};Ol.ID="editor.action.toggleTabFocusMode";let ToggleTabFocusModeAction=Ol;registerAction2(ToggleTabFocusModeAction);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)}};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,g){var j,ie;super(),this._link=t,this._hoverService=r,this._enabled=!0,this.el=append$2(e,$$f("a.monaco-link",{tabIndex:(j=t.tabIndex)!=null?j:0,href:t.href},t.label)),this.hoverDelegate=(ie=i.hoverDelegate)!=null?ie:getDefaultHoverDelegate("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const y=this._register(new DomEmitter(this.el,"click")),k=this._register(new DomEmitter(this.el,"keypress")),L=Event$1.chain(k.event,oe=>oe.map(re=>new StandardKeyboardEvent(re)).filter(re=>re.keyCode===3)),z=this._register(new DomEmitter(this.el,EventType.Tap)).event;this._register(Gesture.addTarget(this.el));const V=Event$1.any(y.event,L,z);this._register(V(oe=>{this.enabled&&(EventHelper$1.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$1=__decorate$i([__param$e(3,IHoverService),__param$e(4,IOpenerService)],Link$1);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)}};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.call(e)}}),this._editor.setBanner(this.banner.element,BANNER_ELEMENT_HEIGHT)}};BannerController=__decorate$h([__param$d(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$2(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$2(this.element,$$f("div.message-container"));if(r.setAttribute("aria-hidden","true"),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=append$2(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$2(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$h([__param$d(0,IInstantiationService)],Banner);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 warningIcon=registerIcon("extensions-warning-message",Codicon.warning,localize("warningIcon","Icon shown with a warning message in the extensions editor."));var Bs;let UnicodeHighlighter=(Bs=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(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$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}},Bs.ID="editor.contrib.unicodeHighlighter",Bs);UnicodeHighlighter=__decorate$g([__param$c(1,IEditorWorkerService),__param$c(2,IWorkspaceTrustManagementService),__param$c(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$g([__param$c(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 z=r.getDecorationInfo(L);if(!z)continue;const j=i.getValueInRange(L.range).codePointAt(0),ie=formatCodePointMarkdown(j);let oe;switch(z.reason.kind){case 0:{isBasicASCII(z.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(z.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(z.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:z.reason,inComment:z.inComment,inString:z.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$g([__param$c(1,ILanguageService),__param$c(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)}const Bl=class Bl{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}};Bl.instance=new Bl;let Decorations=Bl;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)}}const Fl=class Fl extends EditorAction{constructor(){super({id:Fl.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)}};Fl.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let DisableHighlightingOfAmbiguousCharactersAction=Fl;const zl=class zl extends EditorAction{constructor(){super({id:zl.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)}};zl.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let DisableHighlightingOfInvisibleCharactersAction=zl;const Vl=class Vl extends EditorAction{constructor(){super({id:Vl.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)}};Vl.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let DisableHighlightingOfNonBasicAsciiCharactersAction=Vl;const Hl=class Hl extends EditorAction{constructor(){super({id:Hl.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),z=e.get(IQuickInputService),V=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(V,[re])}});if(ie.push({label:j(r),run:()=>excludeCharFromBeingHighlighted(V,[r])}),k){const re=new DisableHighlightingInCommentsAction;ie.push({label:re.label,run:async()=>re.runAction(V)})}else if(y){const re=new DisableHighlightingInStringsAction;ie.push({label:re.label,run:async()=>re.runAction(V)})}if(g.kind===0){const re=new DisableHighlightingOfAmbiguousCharactersAction;ie.push({label:re.label,run:async()=>re.runAction(V)})}else if(g.kind===1){const re=new DisableHighlightingOfInvisibleCharactersAction;ie.push({label:re.label,run:async()=>re.runAction(V)})}else if(g.kind===2){const re=new DisableHighlightingOfNonBasicAsciiCharactersAction;ie.push({label:re.label,run:async()=>re.runAction(V)})}else expectNever(g);const oe=await z.pick(ie,{title:configureUnicodeHighlightOptionsStr});oe&&await oe.run()}};Hl.ID="editor.action.unicodeHighlight.showExcludeOptions";let ShowExcludeOptions=Hl;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 r;const t=(r=n.inspect(unicodeHighlightConfigKeys.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.allowedLocales,i,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$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 ignoreUnusualLineTerminators="ignoreUnusualLineTerminators";function writeIgnoreState(n,e,t){n.setModelProperty(e.uri,ignoreUnusualLineTerminators,t)}function readIgnoreState(n,e){return n.getModelProperty(e.uri,ignoreUnusualLineTerminators)}var Fs;let UnusualLineTerminatorsDetector=(Fs=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(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(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("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())}},Fs.ID="editor.contrib.unusualLineTerminatorsDetector",Fs);UnusualLineTerminatorsDetector=__decorate$f([__param$b(1,IDialogService),__param$b(2,ICodeEditorService)],UnusualLineTerminatorsDetector);registerEditorContribution(UnusualLineTerminatorsDetector.ID,UnusualLineTerminatorsDetector,1);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)}};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).map(k=>({range:k.range,kind:DocumentHighlightKind$1.Text})):Promise.resolve(r)}provideMultiDocumentHighlights(e,t,i,r){const g=new ResourceMap,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 z=k.findMatches(y.word,!0,!1,!0,USUAL_WORD_SEPARATORS,!1).map(V=>({range:V.range,kind:DocumentHighlightKind$1.Text}));z&&g.set(k.uri,z)}return g}}let TextualMultiDocumentHighlightFeature=class extends Disposable{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new TextualDocumentHighlightProvider)),this._register(e.multiDocumentHighlightProvider.register("*",new TextualDocumentHighlightProvider))}};TextualMultiDocumentHighlightFeature=__decorate$e([__param$a(0,ILanguageFeaturesService)],TextualMultiDocumentHighlightFeature);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)),g=>g!=null).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(z=>shouldSynchronizeModel(z)).filter(z=>score(k.selector,z.uri,z.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(k.provideMultiDocumentHighlights(e,t,L,r)).then(void 0,onUnexpectedExternalError)}),k=>k!=null)}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 z=0,V=i.length;!L&&z=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)}}function computeOccurencesAtPosition(n,e,t,i,r){return new SemanticOccurenceAtPositionRequest(e,t,r,n)}function computeOccurencesMultiModel(n,e,t,i,r,g){return new MultiModelOccurenceRequest(e,t,r,n,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)});var tr;let WordHighlighter=(tr=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.runDelayer=this.toUnhook.add(new Delayer(50)),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.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(this.model.uri,"output")||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=>{var L,z;const k=this.editor.getOption(81);if(this.occurrencesHighlight!==k)switch(this.occurrencesHighlight=k,k){case"off":this._stopAll();break;case"singleFile":this._stopAll((z=(L=WordHighlighter_1.query)==null?void 0:L.modelInfo)==null?void 0:z.model);break;case"multiFile":WordHighlighter_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.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$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.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),WordHighlighter_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$1(r.getModel().uri,e==null?void 0:e.uri))continue;const g=WordHighlighter_1.storedDecorationIDs.get(r.getModel().uri);if(!g)continue;r.removeDecorations(g),i.push(r.getModel().uri);const y=WordHighlighterContribution.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.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.vscodeNotebookCell&&((i=(t=WordHighlighter_1.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Schemas.vscodeNotebookCell?(WordHighlighter_1.query=null,this._run()):(r=WordHighlighter_1.query)!=null&&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(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.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(e){var r,g;let t;if(this.editor.hasTextFocus()){const y=this.editor.getSelection();if(!y||y.startLineNumber!==y.endLineNumber){WordHighlighter_1.query=null,this._stopAll();return}const k=y.startColumn,L=y.endColumn,z=this._getWord();if(!z||z.startColumn>k||z.endColumn{y===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=L||[],this._beginRenderDecorations())},onUnexpectedError)}}computeWithModel(e,t,i,r){return r.length?computeOccurencesMultiModel(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),r):computeOccurencesAtPosition(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.get(g);if(!y)continue;const k=[],L=(t=g.getModel())==null?void 0:t.uri;if(L&&this.workerRequestValue.has(L)){const z=WordHighlighter_1.storedDecorationIDs.get(L),V=this.workerRequestValue.get(L);if(V)for(const ie of V)ie.range&&k.push({range:ie.range,options:getHighlightDecorationOptions(ie.kind)});let j=[];g.changeDecorations(ie=>{j=ie.deltaDecorations(z!=null?z:[],k)}),WordHighlighter_1.storedDecorationIDs=WordHighlighter_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=tr,tr.storedDecorationIDs=new ResourceMap,tr.query=null,tr);WordHighlighter=WordHighlighter_1=__decorate$d([__param$9(4,ICodeEditorService)],WordHighlighter);var ss;let WordHighlighterContribution=(ss=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.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=ss,ss.ID="editor.contrib.wordHighlighter",ss);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:void 0,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);registerEditorFeature(TextualMultiDocumentHighlightFeature);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(132),t.getOption(131)),g=t.getModel(),y=t.getSelections(),k=y.length>1,L=y.map(z=>{const V=new Position$1(z.positionLineNumber,z.positionColumn),j=this._move(r,g,V,this._wordNavigationType,k);return this._moveTo(z,j,this._inSelectionMode)});if(g.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,L.map(z=>CursorState$1.fromModelSelection(z))),L.length===1){const z=new Position$1(L[0].positionLineNumber,L[0].positionColumn);t.revealPosition(z,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,g){return WordOperations.moveWordLeft(e,t,i,r,g)}}class WordRightCommand extends MoveWordCommand{_move(e,t,i,r,g){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?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?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,g){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}}class CursorWordAccessibilityLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,r,g){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}}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?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?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,g){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}}class CursorWordAccessibilityRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,r,g){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}}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(132),t.getOption(131)),y=t.getModel(),k=t.getSelections(),L=t.getOption(6),z=t.getOption(11),V=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:z,autoClosingPairs:V,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(132),t.getOption(131)),g=t.getModel(),k=t.getSelections().map(L=>{const z=WordOperations.deleteInsideWord(r,g,L);return new ReplaceCommand(z,"")});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,g){return WordPartOperations.moveWordPartLeft(e,t,i,g)}}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,g){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);const rc=class rc 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(93);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())}}};rc.ID="editor.contrib.readOnlyMessageController";let ReadOnlyMessageController=rc;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),z=await this._outlineModelService.getOrCreate(this._textModel,L.token);k.isDisposed||this._currentModel.set(z,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));const sc=class sc 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(92);!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)}};sc.ID="editor.contrib.iPadShowKeyboard";let IPadShowKeyboard=sc;const Wl=class Wl 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 Wl.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};Wl.ID="editor.contrib.ShowKeyboardWidget";let ShowKeyboardWidget=Wl;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,as;let InspectTokensController=(as=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_1=as,as.ID="editor.contrib.inspectTokens",as);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)}}const Ul=class Ul 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 Ul._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let L=t.tokens1.length-1;L>=0;L--){const z=t.tokens1[L];if(e.column-1>=z.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,ls;let HelpQuickAccessProvider=(ls=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_1=ls,ls.PREFIX="?",ls);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,i){var y;const r=new DisposableStore;e.canAcceptInBackground=!!((y=this.options)!=null&&y.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const g=r.add(new MutableDisposable);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,g=this.activeTextEditorControl;if(g&&this.canProvideWithTextEditor(g)){const k={editor:g},L=getCodeEditor(g);if(L){let z=(y=g.saveViewState())!=null?y:void 0;r.add(L.onDidChangeCursorPosition(()=>{var V;z=(V=g.saveViewState())!=null?V:void 0})),k.restoreViewState=()=>{z&&g===this.activeTextEditorControl&&g.restoreViewState(z)},r.add(createSingleCallFunction(t.onCancellationRequested)(()=>{var V;return(V=k.restoreViewState)==null?void 0:V.call(k)}))}r.add(toDisposable(()=>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("".concat(i.getLineContent(t.range.startLineNumber)))}getModel(e){var t;return isDiffEditor(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(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)}}const Kl=class Kl 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[z]=t.selectedItems;if(z){if(!this.isValidLineNumber(r,z.lineNumber))return;this.gotoLocation(e,{range:this.toRange(z.lineNumber,z.column),keyMods:t.keyMods,preserveFocus:L.inBackground}),L.inBackground||t.hide()}}));const y=()=>{const L=this.parsePosition(r,t.value.trim().substr(Kl.PREFIX.length)),z=this.getPickLabel(r,L.lineNumber,L.column);if(t.items=[{lineNumber:L.lineNumber,column:L.column,label:z}],t.ariaLabel=z,!this.isValidLineNumber(r,L.lineNumber)){this.clearDecorations(r);return}const V=this.toRange(L.lineNumber,L.column);r.revealRangeInCenter(V,0),this.addDecorations(r,V)};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?void 0:t.getLineCount())!=null?i:0}};Kl.PREFIX=":";let AbstractGotoLineQuickAccessProvider=Kl;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}};StandaloneGotoLineQuickAccessProvider=__decorate$9([__param$5(0,ICodeEditorService)],StandaloneGotoLineQuickAccessProvider);var cs;let GotoLineAction$1=(cs=class extends EditorAction{constructor(){super({id:cs.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)}},cs.ID="editor.action.gotoLine",cs);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 z of L){const V=queryExpectsExactMatch(z),{pathNormalized:j,normalized:ie,normalizedLowercase:oe}=normalizeQuery$1(z);ie&&(k||(k=[]),k.push({original:z,originalLowercase:z.toLowerCase(),pathNormalized:j,normalized:ie,normalizedLowercase:oe,expectContiguousMatch:V}))}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,ro;let AbstractGotoSymbolQuickAccessProvider=(ro=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,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.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,g){var j;const y=e.editor,k=new DisposableStore;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 z;const V=async ie=>{z==null||z.dispose(!0),i.busy=!1,z=new CancellationTokenSource$1(r),i.busy=!0;try{const oe=prepareQuery(i.value.substr(AbstractGotoSymbolQuickAccessProvider_1.PREFIX.length).trim()),re=await this.doGetSymbolPicks(L,oe,void 0,z.token,t);if(r.isCancellationRequested)return;if(re.length>0){if(i.items=re,ie&&oe.original.length===0){const ae=findLast$1(re,le=>!!(le.type!=="separator"&&le.range&&Range$2.containsPosition(le.range.decoration,ie)));ae&&(i.activeItems=[ae])}}else oe.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(()=>V(void 0))),V((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.SCOPE_PREFIX)===0,L=k?1:0;let z,V;t.values&&t.values.length>1?(z=pieceToQuery(t.values[0]),V=pieceToQuery(t.values.slice(1))):z=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.asClassName(Codicon.splitHorizontal):ThemeIcon.asClassName(Codicon.splitVertical),tooltip:ie==="right"?localize("openToSide","Open to the Side"):localize("openToBottom","Open to the Bottom")}]);const oe=[];for(let ue=0;ueL){let Et=!1;if(z!==t&&([Ie,Ne]=scoreFuzzy2(_e,{...t,values:void 0},L,Ce),typeof Ie=="number"&&(Et=!0)),typeof Ie!="number"&&([Ie,Ne]=scoreFuzzy2(_e,z,L,Ce),typeof Ie!="number"))continue;if(!Et&&V){if(xe&&V.original.length>0&&([$e,Oe]=scoreFuzzy2(xe,V)),typeof $e!="number")continue;typeof Ie=="number"&&(Ie+=$e)}}const Fe=he.tags&&he.tags.indexOf(1)>=0;oe.push({index:ue,kind:he.kind,score:Ie,label:_e,ariaLabel:getAriaLabelForSymbol(he.name,he.kind),description:xe,highlights:Fe?void 0:{label:Ne,description:Oe},range:{selection:Range$2.collapseToStart(he.selectionRange),decoration:he.range},uri:g.uri,symbolName:pe,strikethrough:Fe,buttons:j})}const re=oe.sort((ue,he)=>k?this.compareByKindAndScore(ue,he):this.compareByScore(ue,he));let ae=[];if(k){let _e=function(){he&&typeof ue=="number"&&pe>0&&(he.label=format$1(NLS_SYMBOL_KIND_CACHE[ue]||FALLBACK_NLS_SYMBOL_KIND,pe))},ue,he,pe=0;for(const Ce of re)ue!==Ce.kind?(_e(),ue=Ce.kind,pe=1,he={type:"separator"},ae.push(he)):pe++,ae.push(Ce);_e()}else re.length>0&&(ae=[{label:localize("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[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_1=ro,ro.PREFIX="@",ro.SCOPE_PREFIX=":",ro.PREFIX_BY_CATEGORY="".concat(ro.PREFIX).concat(ro.SCOPE_PREFIX),ro);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}};StandaloneGotoSymbolQuickAccessProvider=__decorate$7([__param$3(0,ICodeEditorService),__param$3(1,ILanguageFeaturesService),__param$3(2,IOutlineModelService)],StandaloneGotoSymbolQuickAccessProvider);const jl=class jl extends EditorAction{constructor(){super({id:jl.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})}};jl.ID="editor.action.quickOutline";let GotoSymbolAction=jl;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 countMapFrom(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}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 z=this.computeSimilarityScore(L,i,r);z>0&&g.push({key:y,score:z})}}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: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 z=k*L;r+=z*y}return r}computeEmbedding(e){const t=TfIdfCalculator.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(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;(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 z;const r=new DisposableStore;e.canAcceptInBackground=!!((z=this.options)!=null&&z.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let g;const y=r.add(new MutableDisposable),k=async()=>{var le;const V=y.value=new DisposableStore;g==null||g.dispose(!0),e.busy=!1,g=new CancellationTokenSource$1(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,V,j,i),re=(de,ue)=>{var _e;let he,pe;if(isPicksWithActive(de)?(he=de.items,pe=de.active):he=de,he.length===0){if(ue)return!1;(ie.length>0||e.hideInput)&&((_e=this.options)!=null&&_e.noResultsPick)&&(isFunction$5(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(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 _e,Ce;isPicksWithActive(de.picks)?(_e=de.picks.items,Ce=de.picks.active):_e=de.picks;let xe,Ie;if(isPicksWithActive(pe)?(xe=pe.items,Ie=pe.active):xe=pe,xe.length>0||!ue){let Ne;if(!Ce&&!Ie){const $e=e.activeItems[0];$e&&_e.indexOf($e)!==-1&&(Ne=$e)}re({items:[..._e,...xe],active:Ce||Ie||Ne})}}finally{j.isCancellationRequested||(e.busy=!1),he=!0}})()])};if(oe!==null)if(isFastAndSlowPicks(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(de)?await ae(de):re(de)}finally{j.isCancellationRequested||(e.busy=!1)}}};r.add(e.onDidChangeValue(()=>k())),k(),r.add(e.onDidAccept(V=>{var ie;if(i!=null&&i.handleAccept){V.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"&&(V.inBackground||e.hide(),j.accept(e.keyMods,V))}));const L=async(V,j)=>{var oe,re;if(typeof j.trigger!="function")return;const ie=(re=(oe=j.buttons)==null?void 0:oe.indexOf(V))!=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.NO_ACTION:break;case TriggerAction.CLOSE_PICKER:e.hide();break;case TriggerAction.REFRESH_PICKER:k();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(Ce=>Ce!==he[0]),_e=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=ue,pe&&(e.activeItems=pe),e.keepScrollPosition=_e}break}}}};return r.add(e.onDidTriggerItemButton(({button:V,item:j})=>L(V,j))),r.add(e.onDidTriggerSeparatorButton(({button:V,separator:j})=>L(V,j))),r}}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,Co;let AbstractCommandsQuickAccessProvider=(Co=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 oe,re,ae,le;const g=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const y=createSingleCallFunction(()=>{const de=new TfIdfCalculator;de.updateDocuments(g.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)}),k=[];for(const de of g){const ue=(oe=AbstractCommandsQuickAccessProvider_1.WORD_FILTER(e,de.label))!=null?oe:void 0,he=de.commandAlias&&(re=AbstractCommandsQuickAccessProvider_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 _e=pe.find(Ce=>Ce.key===de.commandId);_e&&(de.tfIdfScore=_e.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 _e=this.options.suggestedCommandIds.has(de.commandId),Ce=this.options.suggestedCommandIds.has(ue.commandId);if(_e&&Ce)return 0;if(_e)return-1;if(Ce)return 1}return de.label.localeCompare(ue.label)});const z=[];let V=!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("suggested","similar commands")}),ue})()}:z}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:"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(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_1=Co,Co.PREFIX=">",Co.TFIDF_THRESHOLD=.5,Co.TFIDF_MAX_RESULTS=5,Co.WORD_FILTER=or(matchesPrefix,matchesWords,matchesContiguousSubString),Co);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);var so;let CommandsHistory=(so=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?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 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.DEFAULT_COMMANDS_HISTORY_LENGTH}},CommandsHistory_1=so,so.DEFAULT_COMMANDS_HISTORY_LENGTH=50,so.PREF_KEY_CACHE="commandPalette.mru.cache",so.PREF_KEY_COUNTER="commandPalette.mru.counter",so.counter=1,so.hasChanges=!1,so);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(){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(r.label)||r.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}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);const Gl=class Gl extends EditorAction{constructor(){super({id:Gl.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)}};Gl.ID="editor.action.quickCommand";let GotoLineAction=Gl;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"}));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})}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$1(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function isElement$1(n){var e=getWindow$1(n).Element;return n instanceof e||n instanceof Element}function isHTMLElement(n){var e=getWindow$1(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function isShadowRoot(n){if(typeof ShadowRoot>"u")return!1;var e=getWindow$1(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,z){return L[z]="",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$1(n)?getWindow$1(n):window,k=y.visualViewport,L=!isLayoutViewport()&&t,z=(i.left+(L&&k?k.offsetLeft:0))/r,V=(i.top+(L&&k?k.offsetTop:0))/g,j=i.width/r,ie=i.height/g;return{width:j,height:ie,top:V,right:z+j,bottom:V+ie,left:z,x:z,y:V}}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(t)){var i=e;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function getComputedStyle$2(n){return getWindow$1(n).getComputedStyle(n)}function isTableElement(n){return["table","td","th"].indexOf(getNodeName(n))>=0}function getDocumentElement$1(n){return((isElement$1(n)?n.ownerDocument:n.document)||window.document).documentElement}function getParentNode(n){return getNodeName(n)==="html"?n:n.assignedSlot||n.parentNode||(isShadowRoot(n)?n.host:null)||getDocumentElement$1(n)}function getTrueOffsetParent(n){return!isHTMLElement(n)||getComputedStyle$2(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$2(n);if(i.position==="fixed")return null}var r=getParentNode(n);for(isShadowRoot(r)&&(r=r.host);isHTMLElement(r)&&["html","body"].indexOf(getNodeName(r))<0;){var g=getComputedStyle$2(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$1(n),t=getTrueOffsetParent(n);t&&isTableElement(t)&&getComputedStyle$2(t).position==="static";)t=getTrueOffsetParent(t);return t&&(getNodeName(t)==="html"||getNodeName(t)==="body"&&getComputedStyle$2(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),z=[left,right].indexOf(k)>=0,V=z?"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[V]+t.rects.reference[L]-y[L]-t.rects.popper[V],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],_e=ue-ie[V]-j[re],Ce=ue/2-ie[V]/2+he,xe=within(pe,Ce,_e),Ie=L;t.modifiersData[i]=(e={},e[Ie]=xe,e.centerOffset=xe-Ce,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,z=n.adaptive,V=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 V=="function"?V({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,_e=window;if(z){var Ce=getOffsetParent(t),xe="clientHeight",Ie="clientWidth";if(Ce===getWindow$1(t)&&(Ce=getDocumentElement$1(t),getComputedStyle$2(Ce).position!=="static"&&k==="absolute"&&(xe="scrollHeight",Ie="scrollWidth")),Ce=Ce,r===top||(r===left||r===right)&&g===end){pe=bottom;var Ne=j&&Ce===_e&&_e.visualViewport?_e.visualViewport.height:Ce[xe];ae-=Ne-i.height,ae*=L?1:-1}if(r===left||(r===top||r===bottom)&&g===end){he=right;var $e=j&&Ce===_e&&_e.visualViewport?_e.visualViewport.width:Ce[Ie];oe-=$e-i.width,oe*=L?1:-1}}var Oe=Object.assign({position:k},z&&unsetSides),Fe=V===!0?roundOffsetsByDPR({x:oe,y:ae},getWindow$1(t)):{x:oe,y:ae};if(oe=Fe.x,ae=Fe.y,L){var Et;return Object.assign({},Oe,(Et={},Et[pe]=ue?"0":"",Et[he]=de?"0":"",Et.transform=(_e.devicePixelRatio||1)<=1?"translate("+oe+"px, "+ae+"px)":"translate3d("+oe+"px, "+ae+"px, 0)",Et))}return Object.assign({},Oe,(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,z={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({},z,{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({},z,{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$1(e.elements.popper),z=[].concat(e.scrollParents.reference,e.scrollParents.popper);return g&&z.forEach(function(V){V.addEventListener("scroll",t.update,passive)}),k&&L.addEventListener("resize",t.update,passive),function(){g&&z.forEach(function(V){V.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$2={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(n){return n.replace(/left|right|bottom|top/g,function(e){return hash$2[e]})}var hash$1={start:"end",end:"start"};function getOppositeVariationPlacement(n){return n.replace(/start|end/g,function(e){return hash$1[e]})}function getWindowScroll(n){var e=getWindow$1(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$1(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 z=isLayoutViewport();(z||!z&&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$2(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$2(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$1(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$1(e)?getInnerBoundingClientRect(e,t):rectToClientRect(getDocumentRect(getDocumentElement$1(n)))}function getClippingParents(n){var e=listScrollParents(getParentNode(n)),t=["absolute","fixed"].indexOf(getComputedStyle$2(n).position)>=0,i=t&&isHTMLElement(n)?getOffsetParent(n):n;return isElement$1(i)?e.filter(function(r){return isElement$1(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,z){var V=getClientRectFromMixedType(n,z,i);return L.top=max(V.top,L.top),L.right=min(V.right,L.right),L.bottom=min(V.bottom,L.bottom),L.left=max(V.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 z=r?getMainAxisFromPlacement(r):null;if(z!=null){var V=z==="y"?"height":"width";switch(g){case start:L[z]=L[z]-(e[V]/2-t[V]/2);break;case end:L[z]=L[z]+(e[V]/2-t[V]/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,z=t.rootBoundary,V=z===void 0?viewport:z,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],_e=getClippingRect(isElement$1(pe)?pe:pe.contextElement||getDocumentElement$1(n.elements.popper),L,V,y),Ce=getBoundingClientRect(n.elements.reference),xe=computeOffsets({reference:Ce,element:he,placement:r}),Ie=rectToClientRect(Object.assign({},he,xe)),Ne=ie===popper?Ie:Ce,$e={top:_e.top-Ne.top+de.top,bottom:Ne.bottom-_e.bottom+de.bottom,left:_e.left-Ne.left+de.left,right:Ne.right-_e.right+de.right},Oe=n.modifiersData.offset;if(ie===popper&&Oe){var Fe=Oe[r];Object.keys($e).forEach(function(Et){var ze=[right,bottom].indexOf(Et)>=0?1:-1,qe=[top,bottom].indexOf(Et)>=0?"y":"x";$e[Et]+=Fe[qe]*ze})}return $e}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,z=L===void 0?placements:L,V=getVariation(i),j=V?k?variationPlacements:variationPlacements.filter(function(re){return getVariation(re)===V}):basePlacements,ie=j.filter(function(re){return z.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,z=t.padding,V=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(ui,mi){return ui.concat(getBasePlacement(mi)===auto?computeAutoPlacement(e,{placement:mi,boundary:V,rootBoundary:j,padding:z,flipVariations:re,allowedAutoPlacements:ae}):mi)},[]),_e=e.rects.reference,Ce=e.rects.popper,xe=new Map,Ie=!0,Ne=pe[0],$e=0;$e=0,qe=ze?"width":"height",Ve=detectOverflow(e,{placement:Oe,boundary:V,rootBoundary:j,altBoundary:ie,padding:z}),kt=ze?Et?right:left:Et?bottom:top;_e[qe]>Ce[qe]&&(kt=getOppositePlacement(kt));var Ue=getOppositePlacement(kt),Dt=[];if(g&&Dt.push(Ve[Fe]<=0),k&&Dt.push(Ve[kt]<=0,Ve[Ue]<=0),Dt.every(function(ui){return ui})){Ne=Oe,Ie=!1;break}xe.set(Oe,Dt)}if(Ie)for(var jt=re?3:1,ei=function(mi){var pi=pe.find(function(ri){var oi=xe.get(ri);if(oi)return oi.slice(0,mi).every(function(bi){return bi})});if(pi)return Ne=pi,"break"},ti=jt;ti>0;ti--){var hi=ei(ti);if(hi==="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(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),z=getSideOffsets(k,r,g),V=isAnySideFullyClipped(L),j=isAnySideFullyClipped(z);e.modifiersData[t]={referenceClippingOffsets:L,popperEscapeOffsets:z,isReferenceHidden:V,hasPopperEscaped:j},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":V,"data-popper-escaped":j})}const hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};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(V,j){return V[j]=distanceAndSkiddingToXY(j,e.rects,g),V},{}),k=y[e.placement],L=k.x,z=k.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=L,e.modifiersData.popperOffsets.y+=z),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,z=t.rootBoundary,V=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:z,padding:j,altBoundary:V}),de=getBasePlacement(e.placement),ue=getVariation(e.placement),he=!ue,pe=getMainAxisFromPlacement(de),_e=getAltAxis(pe),Ce=e.modifiersData.popperOffsets,xe=e.rects.reference,Ie=e.rects.popper,Ne=typeof ae=="function"?ae(Object.assign({},e.rects,{placement:e.placement})):ae,$e=typeof Ne=="number"?{mainAxis:Ne,altAxis:Ne}:Object.assign({mainAxis:0,altAxis:0},Ne),Oe=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Fe={x:0,y:0};if(Ce){if(g){var Et,ze=pe==="y"?top:left,qe=pe==="y"?bottom:right,Ve=pe==="y"?"height":"width",kt=Ce[pe],Ue=kt+le[ze],Dt=kt-le[qe],jt=oe?-Ie[Ve]/2:0,ei=ue===start?xe[Ve]:Ie[Ve],ti=ue===start?-Ie[Ve]:-xe[Ve],hi=e.elements.arrow,ui=oe&&hi?getLayoutRect(hi):{width:0,height:0},mi=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:getFreshSideObject(),pi=mi[ze],ri=mi[qe],oi=within(0,xe[Ve],ui[Ve]),bi=he?xe[Ve]/2-jt-oi-pi-$e.mainAxis:ei-oi-pi-$e.mainAxis,Ti=he?-xe[Ve]/2+jt+oi+ri+$e.mainAxis:ti+oi+ri+$e.mainAxis,Si=e.elements.arrow&&getOffsetParent(e.elements.arrow),ni=Si?pe==="y"?Si.clientTop||0:Si.clientLeft||0:0,fi=(Et=Oe==null?void 0:Oe[pe])!=null?Et:0,si=kt+bi-fi-ni,_i=kt+Ti-fi,Pt=within(oe?min(Ue,si):Ue,kt,oe?max(Dt,_i):Dt);Ce[pe]=Pt,Fe[pe]=Pt-kt}if(k){var Lt,At=pe==="x"?top:left,ii=pe==="x"?bottom:right,gi=Ce[_e],yi=_e==="y"?"height":"width",Li=gi+le[At],Pi=gi-le[ii],xi=[top,left].indexOf(de)!==-1,Ai=(Lt=Oe==null?void 0:Oe[_e])!=null?Lt:0,Vi=xi?Li:gi-xe[yi]-Ie[yi]-Ai+$e.altAxis,Hi=xi?gi+xe[yi]+Ie[yi]-Ai-$e.altAxis:Pi,qi=oe&&xi?withinMaxClamp(Vi,gi,Hi):within(oe?Vi:Li,gi,oe?Hi:Pi);Ce[_e]=qi,Fe[_e]=qi-gi}e.modifiersData[i]=Fe}}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$1(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;t{$MAGIC_DESIGN=n},getDesignConfig=n=>$MAGIC_DESIGN[n],_sfc_main$H$2=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$G$2=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=(...z)=>{y("click",...z)};return(z,V)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-button"},g.value,{onClick:k}),createSlots({_:2},[z.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(z.$slots,"default")]),key:"0"}:void 0]),1040))}}),_sfc_main$F$2=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$E$2=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,z=ie=>{L("change",ie)},V=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":V,onChange:z}),null,16))}}),_sfc_main$D$2=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 z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.checkbox,r=(i==null?void 0:i.component)||"el-checkbox",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-checkbox"},g.value,{"onUpdate:modelValue":L,onChange:k}),createSlots({_:2},[V.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(V.$slots,"default")]),key:"0"}:void 0]),1040))}}),_sfc_main$C$2=defineComponent({name:"TMCheckboxGroup",__name:"CheckboxGroup",props:{modelValue:{},label:{},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.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=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-checkbox-group"},g.value,{onChange:k,"onUpdate:modelValue":L}),{default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$B$2=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$A$2=defineComponent({name:"TMCollapse",__name:"Collapse",props:{modelValue:{},accordion:{type:Boolean}},emits:["change","update:modelValue"],setup(n,{emit:e}){var z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.collapse,r=(i==null?void 0:i.component)||"el-collapse",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-collapse"},g.value,{"onUpdate:modelValue":L,onChange:k}),{default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$z$2=defineComponent({name:"TMCollapseItem",__name:"CollapseItem",props:{name:{},title:{},disabled:{type:Boolean}},emits:["change","update:modelValue"],setup(n,{emit:e}){var z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.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=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-collapse-item"},g.value,{"onUpdate:modelValue":L,onChange:k}),{title:withCtx(()=>[renderSlot(V.$slots,"title")]),header:withCtx(()=>[renderSlot(V.$slots,"title")]),default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$y$2=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 z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.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=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-color-picker"},g.value,{onChange:k,"onUpdate:modelValue":L}),null,16))}}),_sfc_main$x$3=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 z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.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=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-date-picker"},g.value,{onChange:k,"onUpdate:modelValue":L}),null,16))}}),_sfc_main$w$3=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 z;const t=n,i=e,r=(z=getDesignConfig("components"))==null?void 0:z.dialog,g=(r==null?void 0:r.component)||"el-dialog",y=computed$1(()=>(r==null?void 0:r.props(t))||t),k=(...V)=>{i("close",...V)},L=V=>{i("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({class:"tmagic-design-dialog"},y.value,{onClose:k,"onUpdate:modelValue":L}),{footer:withCtx(()=>[renderSlot(V.$slots,"footer")]),default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$v$3=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$t$3=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=(...z)=>{y("command",...z)};return(z,V)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-dropdown"},g.value,{onCommand:k}),{dropdown:withCtx(()=>[renderSlot(z.$slots,"dropdown")]),default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$s$3=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$r$3=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$q$3=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,z,V,j;if(typeof((L=y.value)==null?void 0:L.resetFields)=="function")return(z=y.value)==null?void 0:z.resetFields();if(typeof((V=y.value)==null?void 0:V.reset)=="function")return(j=y.value)==null?void 0:j.reset()}}),(L,z)=>(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$p$3=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$o$3=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$n$3=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(),z=(...oe)=>{k("change",...oe)},V=(...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:z,onInput:V,"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$m$3=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 V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.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)},z=(...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":z}),null,16))}}),_sfc_main$j$3=defineComponent({name:"TMPagination",__name:"Pagination",props:{layout:{},hideOnSinglePage:{type:Boolean},curPage:{},pageSizes:{},pagesize:{},total:{}},emits:["size-change","current-change"],setup(n,{emit:e}){var z;const t=n,i=e,r=(z=getDesignConfig("components"))==null?void 0:z.pagination,g=(r==null?void 0:r.component)||"el-pagination",y=computed$1(()=>(r==null?void 0:r.props(t))||t),k=(...V)=>{i("size-change",...V)},L=(...V)=>{i("current-change",...V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({class:"tmagic-design-pagination"},y.value,{onSizeChange:k,onPageSizeChange:k,onCurrentChange:L}),null,16))}}),_hoisted_1$13=["tabindex"],_sfc_main$i$3=defineComponent({name:"TMPopper",inheritAttrs:!1,__name:"Popover",props:{placement:{},width:{},trigger:{default:"hover"},disabled:{type:Boolean,default:!1},visible:{type:Boolean,default:void 0},popperClass:{},tabindex:{default:0},destroyOnClose:{type:Boolean,default:!1}},setup(n){const e=n,t=ref$1(!1),i=watch(()=>e.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$1();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 z=()=>{var ae;(ae=y.value)==null||ae.focus()},V=()=>{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",V),le==null||le.removeEventListener("click",V)},{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$1,{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:z},[renderSlot(ae.$slots,"default"),le[0]||(le[0]=createBaseVNode("span",{class:"tmagic-design-popper-arrow","data-popper-arrow":""},null,-1))],46,_hoisted_1$13)),[[vShow,t.value]]):createCommentVNode("v-if",!0)]))],64))}}),_sfc_main$h$3=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$g$3=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$f$3=defineComponent({name:"TMRadioGroup",__name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean]},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.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=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-radio-group"},g.value,{onChange:k,"onUpdate:modelValue":L}),{default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$e$3=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$d$3=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$c$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(),z=(...ae)=>{r("change",...ae)},V=(...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:z,onVisibleChange:j,onPopupVisibleChange:j,"onUpdate:modelValue":V}),{default:withCtx(()=>[renderSlot(ae.$slots,"default")]),_:3},16))}}),_sfc_main$b$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=(...z)=>{i("click",...z)},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(z,V)=>(openBlock(),createBlock(resolveDynamicComponent(unref(y)),mergeProps({class:"tmagic-design-step"},k.value,{onClick:r}),{default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$a$3=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$9$3=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 z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.switch,r=(i==null?void 0:i.component)||"el-switch",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-switch"},g.value,{"onUpdate:modelValue":L,onChange:k}),{default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$8$3=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(),z=(...ae)=>{k("select",...ae)},V=(...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:z,onSortChange:V,onExpandChange:j,onCellClick:ie}),{default:withCtx(()=>[renderSlot(ae.$slots,"default")]),_:3},16))}}),_sfc_main$7$3=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:z})=>[createCommentVNode(" eslint-disable-next-line vue/valid-attribute-name "),renderSlot(y.$slots,"default",{$index:L,row:z})]),_:3},16))}}),_sfc_main$6$3=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$5$4=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)},z=(...ie)=>{y("tab-remove",...ie)},V=(...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:z,"onUpdate:modelValue":V}),{default:withCtx(()=>[renderSlot(ie.$slots,"default")]),_:3},16))}}),_sfc_main$4$4=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$3$4=defineComponent({name:"TMTimePicker",__name:"TimePicker",props:{modelValue:{},disabled:{type:Boolean},placeholder:{},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.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=V=>{y("change",V)},L=V=>{y("update:modelValue",V)};return(V,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-time-picker"},g.value,{onChange:k,"onUpdate:modelValue":L}),null,16))}}),_sfc_main$2$4=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$1M=defineComponent({name:"TMUpload",__name:"Upload",props:{action:{},autoUpload:{type:Boolean},disabled:{type:Boolean}},emits:["change"],setup(n,{expose:e,emit:t}){var V;const i=n,r=t,g=(...j)=>{r("change",...j)},y=(V=getDesignConfig("components"))==null?void 0:V.upload,k=(y==null?void 0:y.component)||"el-upload",L=computed$1(()=>(y==null?void 0:y.props(i))||i),z=ref$1();return e({clearFiles(...j){var ie;return(ie=z.value)==null?void 0:ie.clearFiles(...j)}}),(j,ie)=>(openBlock(),createBlock(resolveDynamicComponent(unref(k)),mergeProps({class:"tmagic-design-upload",ref_key:"upload",ref:z},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$1=ref$1(0),DEFAULT_INITIAL_Z_INDEX=2e3;let useZIndex$1=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$1.value);return{initialZIndex:t,currentZIndex:i,nextZIndex:()=>(zIndex$1.value+=1,i.value)}};const index$4={install(n,e){var t,i,r,g,y,k,L,z,V;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=(z=e.messageBox)==null?void 0:z.prompt,tMagicMessageBox.close=(V=e.messageBox)==null?void 0:V.close),e.loading&&!n.directive("loading")&&n.directive("loading",e.loading),e.useZIndex&&(useZIndex$1=e.useZIndex),n.config.globalProperties.$MAGIC_DESIGN=e,setDesignConfig(e)}};/*! Element Plus Icons Vue v2.3.2 */var _sfc_main6=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.59 30.59 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.59 30.59 0 0 0-42.752 0z"})]))}}),arrow_down_default=_sfc_main6,_sfc_main7=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 0"})]))}}),arrow_left_bold_default=_sfc_main7,_sfc_main8=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.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),arrow_left_default=_sfc_main8,_sfc_main9=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 0"})]))}}),arrow_right_bold_default=_sfc_main9,_sfc_main10=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.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 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=_sfc_main10,_sfc_main12=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=_sfc_main12,_sfc_main14=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=_sfc_main14,_sfc_main22=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=_sfc_main22,_sfc_main29=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=_sfc_main29,_sfc_main32=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=_sfc_main32,_sfc_main34=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=_sfc_main34,_sfc_main35=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=_sfc_main35,_sfc_main43=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=_sfc_main43,_sfc_main49=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.752z"})]))}}),circle_check_default=_sfc_main49,_sfc_main50=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=_sfc_main50,_sfc_main51=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=_sfc_main51,_sfc_main54=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=_sfc_main54,_sfc_main55=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.496"})]))}}),close_bold_default=_sfc_main55,_sfc_main56=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=_sfc_main56,_sfc_main60=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.264"}),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.264"}),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=_sfc_main60,_sfc_main66=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.06 192.06 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=_sfc_main66,_sfc_main68=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=_sfc_main68,_sfc_main72=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.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 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.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 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.672z"})]))}}),d_arrow_left_default=_sfc_main72,_sfc_main73=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.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 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.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}}),d_arrow_right_default=_sfc_main73,_sfc_main80=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=_sfc_main80,_sfc_main87=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=_sfc_main87,_sfc_main90=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=_sfc_main90,_sfc_main93=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-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}}),edit_pen_default=_sfc_main93,_sfc_main94=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=_sfc_main94,_sfc_main101=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=_sfc_main101,_sfc_main111=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.16zM832 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=_sfc_main111,_sfc_main118=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-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),full_screen_default=_sfc_main118,_sfc_main125=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 128s-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=_sfc_main125,_sfc_main127=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=_sfc_main127,_sfc_main133=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.4s-12.8-9.6-22.4-9.6-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 176S0 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.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 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.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.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.6q-43.2 72-153.6 172.8c-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-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),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 112s-67.2 48-112 48"})]))}}),hide_default=_sfc_main133,_sfc_main143=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.99 12.99 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=_sfc_main143,_sfc_main149=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=_sfc_main149,_sfc_main150=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.248m452.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.248M828.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 0"})]))}}),loading_default=_sfc_main150,_sfc_main162=defineComponent({name:"Memo",__name:"memo",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",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=_sfc_main162,_sfc_main169=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=_sfc_main169,_sfc_main174=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=_sfc_main174,_sfc_main195=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=_sfc_main195,_sfc_main201=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=_sfc_main201,_sfc_main203=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.88zm-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.992z"})]))}}),position_default=_sfc_main203,_sfc_main221=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=_sfc_main221,_sfc_main222=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.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),scale_to_original_default=_sfc_main222,_sfc_main225=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=_sfc_main225,_sfc_main249=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.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),success_filled_default=_sfc_main249,_sfc_main250=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.16zm-548.8 198.72h447.168v2.24l60.8-60.8a63.8 63.8 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64 64 0 0 0-10.24 13.248zm0 64q4.128 7.104 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.632zm633.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=_sfc_main250,_sfc_main256=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.128"}),createBaseVNode("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32"})]))}}),switch_button_default=_sfc_main256,_sfc_main260=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=_sfc_main260,_sfc_main261=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=_sfc_main261,_sfc_main267=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=_sfc_main267,_sfc_main283=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-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),view_default=_sfc_main283,_sfc_main287=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.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 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=_sfc_main287,_sfc_main292=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=_sfc_main292,_sfc_main293=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=_sfc_main293,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$g=objectProto$h.hasOwnProperty,nativeObjectToString$1=objectProto$h.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(n){var e=hasOwnProperty$g.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$1,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$4(n)}function isIterateeCall(n,e,t){if(!isObject$5(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(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$7=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$7.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&funcToString.call(t)==objectCtorString}function baseSlice(n,e,t){var i=-1,r=n.length;e<0&&(e=-e>r?0:r+e),t=t>r?r:t,t<0&&(t+=r),r=e>t?0:t-e>>>0,e>>>=0;for(var g=Array(r);++ik))return!1;var z=g.get(n),V=g.get(e);if(z&&V)return z==e&&V==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 Ce=now$1();if(le(Ce))return ue(Ce);k=setTimeout(de,ae(Ce))}function ue(Ce){return k=void 0,ie&&i?oe(Ce):(i=r=void 0,y)}function he(){k!==void 0&&clearTimeout(k),z=0,i=L=r=k=void 0}function pe(){return k===void 0?y:ue(now$1())}function _e(){var Ce=now$1(),xe=le(Ce);if(i=arguments,r=this,L=Ce,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 _e.cancel=he,_e.flush=pe,_e}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),z=y.get(L);if(z){assignMergeValue(n,t,z);return}var V=g?g(k,L,t+"",n,e,y):void 0,j=V===void 0;if(j){var ie=isArray$3(L),oe=!ie&&isBuffer(L),re=!ie&&!oe&&isTypedArray(L);V=L,ie||oe||re?isArray$3(k)?V=k:isArrayLikeObject(k)?V=copyArray(k):oe?(j=!1,V=cloneBuffer(L,!0)):re?(j=!1,V=cloneTypedArray(L,!0)):V=[]:isPlainObject$1(L)||isArguments(L)?(V=k,isArguments(k)?V=toPlainObject(k):(!isObject$5(k)||isFunction$4(k))&&(V=initCloneObject(L))):j=!1}j&&(y.set(L,V),r(V,L,i,g,y),y.delete(L)),assignMergeValue(n,t,V)}function baseMerge(n,e,t,i,r){n!==e&&baseFor(e,function(g,y){if(r||(r=new Stack),isObject$5(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 last$2(n){var e=n==null?0:n.length;return e?n[e-1]:void 0}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={};++e1),g}),copyObject(n,getAllKeysIn(n),t),i&&(t=baseClone(t,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var r=e.length;r--;)baseUnset(t,e[r]);return t});function baseSet(n,e,t,i){if(!isObject$5(n))return n;e=castPath(e,n);for(var r=-1,g=e.length,y=g-1,k=n;k!=null&&++r=LARGE_ARRAY_SIZE){var z=createSet(n);if(z)return setToArray(z);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",NODE_DISABLE_DATA_SOURCE_KEY="_tmagic_node_disabled_data_source",NODE_DISABLE_CODE_BLOCK_KEY="_tmagic_node_disabled_code_block";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$4=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$3=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$4(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(const y of g){const k=r.findIndex(L=>"".concat(L)==="".concat(y.id));k>-1&&(r.splice(k,1),t.push(y)),y.items&&i(r,y.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){console.warn("未找到目标节点(".concat(n.id,")"));return}if(!g){console.warn("未找到父节点(".concat(n.id,")"));return}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((V,j)=>j"u")try{const V=getValueByKeyPath(g,e);setValueByKeyPath(k.join("."),V,e),L=V}catch(V){console.warn(V);return}let z;try{z=n(L)}catch(V){console.error(V),z=""}setValueByKeyPath(g,z,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$4(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$1=n=>/^(\d+)(\.\d+)?%$/.test("".concat(n)),convertToNumber=(n,e=0)=>typeof n=="number"?n:typeof n=="string"&&isPercentage$1(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",z="day",V="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(ze){var qe=["th","st","nd","rd"],Ve=ze%100;return"["+ze+(qe[(Ve-20)%10]||qe[Ve]||qe[0])+"]"}},he=function(ze,qe,Ve){var kt=String(ze);return!kt||kt.length>=qe?ze:""+Array(qe+1-kt.length).join(Ve)+ze},pe={s:he,z:function(ze){var qe=-ze.utcOffset(),Ve=Math.abs(qe),kt=Math.floor(Ve/60),Ue=Ve%60;return(qe<=0?"+":"-")+he(kt,2,"0")+":"+he(Ue,2,"0")},m:function ze(qe,Ve){if(qe.date()1)return ze(jt[0])}else{var ei=qe.name;Ce[ei]=qe,Ue=ei}return!kt&&Ue&&(_e=Ue),Ue||!kt&&_e},$e=function(ze,qe){if(Ie(ze))return ze.clone();var Ve=typeof qe=="object"?qe:{};return Ve.date=ze,Ve.args=arguments,new Fe(Ve)},Oe=pe;Oe.l=Ne,Oe.i=Ie,Oe.w=function(ze,qe){return $e(ze,{locale:qe.$L,utc:qe.$u,x:qe.$x,$offset:qe.$offset})};var Fe=function(){function ze(Ve){this.$L=Ne(Ve.locale,null,!0),this.parse(Ve),this.$x=this.$x||Ve.x||{},this[xe]=!0}var qe=ze.prototype;return qe.parse=function(Ve){this.$d=function(kt){var Ue=kt.date,Dt=kt.utc;if(Ue===null)return new Date(NaN);if(Oe.u(Ue))return new Date;if(Ue instanceof Date)return new Date(Ue);if(typeof Ue=="string"&&!/Z$/i.test(Ue)){var jt=Ue.match(le);if(jt){var ei=jt[2]-1||0,ti=(jt[7]||"0").substring(0,3);return Dt?new Date(Date.UTC(jt[1],ei,jt[3]||1,jt[4]||0,jt[5]||0,jt[6]||0,ti)):new Date(jt[1],ei,jt[3]||1,jt[4]||0,jt[5]||0,jt[6]||0,ti)}}return new Date(Ue)}(Ve),this.init()},qe.init=function(){var Ve=this.$d;this.$y=Ve.getFullYear(),this.$M=Ve.getMonth(),this.$D=Ve.getDate(),this.$W=Ve.getDay(),this.$H=Ve.getHours(),this.$m=Ve.getMinutes(),this.$s=Ve.getSeconds(),this.$ms=Ve.getMilliseconds()},qe.$utils=function(){return Oe},qe.isValid=function(){return this.$d.toString()!==ae},qe.isSame=function(Ve,kt){var Ue=$e(Ve);return this.startOf(kt)<=Ue&&Ue<=this.endOf(kt)},qe.isAfter=function(Ve,kt){return $e(Ve) * @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(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var IE11OrLess=userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent(/Edge/i),FireFox=userAgent(/firefox/i),Safari=userAgent(/safari/i)&&!userAgent(/chrome/i)&&!userAgent(/android/i),IOS=userAgent(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent(/chrome/i)&&userAgent(/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),z=k&&parseInt(k.marginLeft)+parseInt(k.marginRight)+getRect$1(g).width,V=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"||z>=r&&i[CSSFloatProperty]==="none"||y&&i[CSSFloatProperty]==="none"&&z+V>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,z=i?t.width:t.height;return r===k||g===L||r+y/2===k+z/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,z,V){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,z,V),y)(k,L,z,V);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,z=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||L,V=r.filter;if(_saveInputCheckedState(i),!dragEl&&!(/mousedown|pointerdown/.test(y)&&e.button!==0||r.disabled)&&!z.isContentEditable&&!(!this.nativeDraggable&&Safari&&L&&L.tagName.toUpperCase()==="SELECT")&&(L=closest(L,r.draggable,i,!1),!(L&&L.animated)&&lastDownEl!==L)){if(oldIndex=index$3(L),oldDraggableIndex=index$3(L,r.draggable),typeof V=="function"){if(V.call(this,e,L,this)){_dispatchEvent({sortable:t,rootEl:z,name:"filter",targetEl:L,toEl:i,fromEl:i}),pluginEvent("filter",t,{evt:e}),g&&e.preventDefault();return}}else if(V&&(V=V.split(",").some(function(j){if(j=closest(z,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}),V)){g&&e.preventDefault();return}r.handle&&!closest(z,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 z=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-z.left,tapDistanceTop=tapEvt.clientY-z.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(V){find$3(dragEl,V.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,z=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),V=(g.clientX-tapEvt.clientX+r.x)/(k||1)+(z?z[0]-ghostRelativeParentInitialScroll[0]:0)/(k||1),j=(g.clientY-tapEvt.clientY+r.y)/(L||1)+(z?z[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,z=i?t.height:t.width,V=i?t.top:t.left,j=i?t.bottom:t.right,ie=!1;if(!y){if(k&&targetMoveDistanceV+z*g/2:Lj-targetMoveDistance)return-lastDirection}else if(L>V+z*(1-r)/2&&Lj-z*g/2)?L>V+z/2?1:-1:0}function _getInsertDirection(n){return index$3(dragEl)n,isTableSelect=n=>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$1(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$1=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,z)=>r({rule:g,value:t.config.names?t.model:y,callback:k,source:L,options:z},{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$e$1=["data-tmagic-id","data-tmagic-form-item-prop"],_hoisted_2$7$1=["innerHTML","title"],_hoisted_3$5$1=["innerHTML"],_hoisted_4$3$1=["innerHTML"],_hoisted_5$3=["innerHTML"],_hoisted_6$2$1=["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$x$2=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 Oe=y.value?t.model[y.value]:t.model,Fe=y.value?t.lastValues[y.value]:t.lastValues;return!isEqual(Oe,Fe)}),L=computed$1(()=>t.config.items),z=computed$1(()=>{let Oe="";const{names:Fe}=t.config;if(Fe!=null&&Fe[0])[Oe]=Fe;else if(y.value)Oe=y.value;else return t.prop;return typeof t.prop<"u"&&t.prop!==""?"".concat(t.prop,".").concat(Oe):"".concat(Oe)}),V=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:Oe}=t.config;return Oe=Oe&&filterFunction(r,Oe,t),Oe==="form"||Oe==="container"?"":(Oe==null?void 0:Oe.replace(/([A-Z])/g,"-$1").toLowerCase())||(L.value?"":"text")}),de=computed$1(()=>{const Oe=display$1(r,t.config.display,t);return Oe==="expand"?g.value:Oe}),ue=computed$1(()=>{var Oe;return(Oe=t.config.labelWidth)!=null?Oe:t.labelWidth});watchEffect(()=>{g.value=t.expandMore}),watch(k,Oe=>{le.value!=="hidden"&&(L.value&&!ie.value&&le.value&&de.value||de.value&&Oe&&le.value&&i("addDiffCount"))},{immediate:!0});const he=()=>g.value=!g.value,pe=Oe=>Oe[r==null?void 0:r.keyProps],_e=(Oe,Fe)=>typeof Oe=="function"?Oe(r,Fe,{model:t.model,values:r==null?void 0:r.initValues,formValue:r==null?void 0:r.values,prop:z.value,config:t.config}):Oe==="number"?+Fe:Fe,Ce=(Oe,Fe)=>{if(typeof Fe=="string"&&Oe)return Fe.replace(/^\s*/,"").replace(/\s*$/,"")},xe=()=>i("addDiffCount"),Ie=Oe=>typeof(Oe==null?void 0:Oe.modifyKey)<"u"&&Oe.modifyKey!=="",Ne=()=>{const Oe=typeof y.value;return Oe!=="string"&&Oe!=="symbol"&&Oe!=="number"||y.value===""?!1:typeof y.value=="number"?y.value>=0:!0},$e=async function(Oe,Fe={}){var ei,ti;const{filter:Et,onChange:ze,trim:qe,dynamicKey:Ve}=t.config;let kt=toRaw(Oe);const Ue=Fe.changeRecords||[],Dt=[...Ue];try{kt=_e(Et,Oe),typeof ze=="function"&&(kt=(ei=await ze(r,kt,{model:t.model,values:r==null?void 0:r.initValues,formValue:r==null?void 0:r.values,prop:z.value,config:t.config,changeRecords:Dt,setModel:(hi,ui)=>{setValueByKeyPath(hi,ui,t.model),t.config.name&&Dt.push({propPath:z.value.replace("".concat(t.config.name),hi),value:ui})}}))!=null?ei:kt),kt=(ti=Ce(qe,kt))!=null?ti:kt}catch(hi){console.error(hi)}let jt=z.value;Ie(Fe)?(Ve?t.model[Fe.modifyKey]=kt:Ne()&&(t.model[y.value][Fe.modifyKey]=kt),jt=jt?"".concat(jt,".").concat(Fe.modifyKey):Fe.modifyKey,delete Fe.modifyKey):Ne()&&t.model!==kt&&(Oe!==kt||t.model[y.value]!==kt)&&(t.model[y.value]=kt),Ue.length===0&&Dt.push({propPath:jt,value:kt}),i("change",t.model,{...Fe,changeRecords:Dt})};return(Oe,Fe)=>{const Et=resolveComponent("m-fields-hidden"),ze=resolveComponent("Container",!0);return Oe.config?(openBlock(),createElementBlock("div",{key:0,"data-tmagic-id":Oe.config.id,"data-tmagic-form-item-prop":z.value,style:normalizeStyle(Oe.config.tip?"display: flex;align-items: baseline;":""),class:normalizeClass("m-form-container m-container-".concat(le.value||""," ").concat(Oe.config.className||""))},[le.value==="hidden"?(openBlock(),createBlock(Et,{key:0,model:Oe.model,config:Oe.config,name:Oe.config.name,disabled:j.value,prop:z.value},null,8,["model","config","name","disabled","prop"])):L.value&&!ie.value&&le.value&&de.value?(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.model,"last-values":Oe.lastValues,"is-compare":Oe.isCompare,config:Oe.config,disabled:j.value,name:y.value,prop:z.value,"step-active":Oe.stepActive,"expand-more":g.value,"label-width":ue.value,onChange:$e,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$p$3),{style:normalizeStyle(Oe.config.tip?"flex: 1":""),class:normalizeClass({"tmagic-form-hidden":"".concat(ue.value)==="0"||!ie.value}),prop:z.value,"label-width":ue.value,"label-position":Oe.config.labelPosition,rules:ae.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:le.value==="checkbox"?"":ie.value,title:Oe.config.labelTitle},null,8,_hoisted_2$7$1)]),default:withCtx(()=>[oe.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:oe.value},null,8,_hoisted_3$5$1)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.model,"last-values":Oe.lastValues,config:Oe.config,name:y.value,disabled:j.value,prop:z.value,onChange:$e,onAddDiffCount:xe},null,40,["size","model","last-values","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.model,"last-values":Oe.lastValues,config:Oe.config,name:y.value,disabled:j.value,prop:z.value,onChange:$e,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$3$1)):createCommentVNode("v-if",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),Oe.config.tip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:Oe.config.tip},null,8,_hoisted_5$3)]),default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default))]),_:1})]),_:1})):createCommentVNode("v-if",!0)],64)):le.value&&de.value&&k.value?(openBlock(),createElementBlock(Fragment,{key:3},[createCommentVNode(" 对比 "),createCommentVNode(" 上次内容 "),createVNode(unref(_sfc_main$p$3),{style:normalizeStyle([Oe.config.tip?"flex: 1":"",{background:"#f7dadd"}]),class:normalizeClass({"tmagic-form-hidden":"".concat(ue.value)==="0"||!ie.value}),prop:z.value,"label-width":ue.value,"label-position":Oe.config.labelPosition,rules:ae.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:le.value==="checkbox"?"":ie.value,title:Oe.config.labelTitle},null,8,_hoisted_6$2$1)]),default:withCtx(()=>[oe.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:oe.value},null,8,_hoisted_7$1)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.lastValues,config:Oe.config,name:y.value,disabled:j.value,prop:z.value,onChange:$e},null,40,["size","model","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.lastValues,config:Oe.config,name:y.value,disabled:j.value,prop:z.value,onChange:$e},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("v-if",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),Oe.config.tip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:Oe.config.tip},null,8,_hoisted_9)]),default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default))]),_:1})]),_:1})):createCommentVNode("v-if",!0),createCommentVNode(" 当前内容 "),createVNode(unref(_sfc_main$p$3),{style:normalizeStyle([Oe.config.tip?"flex: 1":"",{background:"#def7da"}]),class:normalizeClass({"tmagic-form-hidden":"".concat(ue.value)==="0"||!ie.value}),prop:z.value,"label-width":ue.value,"label-position":Oe.config.labelPosition,rules:ae.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:le.value==="checkbox"?"":ie.value,title:Oe.config.labelTitle},null,8,_hoisted_10)]),default:withCtx(()=>[oe.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:oe.value},null,8,_hoisted_11)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.model,config:Oe.config,name:y.value,disabled:j.value,prop:z.value,onChange:$e},null,40,["size","model","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(V.value),{key:pe(Oe.config),size:Oe.size,model:Oe.model,config:Oe.config,name:y.value,disabled:j.value,prop:z.value,onChange:$e},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("v-if",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),Oe.config.tip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:Oe.config.tip},null,8,_hoisted_13)]),default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default))]),_:1})]),_:1})):createCommentVNode("v-if",!0)],64)):L.value&&de.value?(openBlock(),createElementBlock(Fragment,{key:4},[(Ne()?Oe.model[y.value]:Oe.model)?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(L.value,qe=>(openBlock(),createBlock(ze,{key:pe(qe),model:Ne()?Oe.model[y.value]:Oe.model,"last-values":Ne()?Oe.lastValues[y.value]||{}:Oe.lastValues,"is-compare":Oe.isCompare,config:qe,size:Oe.size,disabled:j.value,"step-active":Oe.stepActive,"expand-more":g.value,"label-width":ue.value,prop:z.value,onChange:$e,onAddDiffCount:xe},null,8,["model","last-values","is-compare","config","size","disabled","step-active","expand-more","label-width","prop"]))),128)):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),Oe.config.expand&&le.value!=="fieldset"?(openBlock(),createElementBlock("div",_hoisted_14,[createVNode(unref(_sfc_main$G$2),{type:"primary",size:"small",disabled:!1,link:"",onClick:he},{default:withCtx(()=>[createTextVNode(toDisplayString(g.value?"收起配置":"展开更多配置"),1)]),_:1})])):createCommentVNode("v-if",!0)],14,_hoisted_1$e$1)):createCommentVNode("v-if",!0)}}}),_hoisted_1$d$1=["innerHTML"],_hoisted_2$6$1=["innerHTML"],_hoisted_3$4$1={key:1},_hoisted_4$2$1=["innerHTML"],_hoisted_5$2$1=["innerHTML"],_hoisted_6$1$1={key:2,style:{display:"flex"}},_hoisted_7={style:{flex:"1"}},_hoisted_8=["src"],_sfc_main$w$2=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"})},z=(ie,oe)=>i("change",ie,oe),V=(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$D$2),{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$d$1),ie.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:ie.config.extra,class:"m-form-tip"},null,8,_hoisted_2$6$1)):createCommentVNode("v-if",!0)]),_:1},8,["modelValue","prop"])]),_:1})):(openBlock(),createElementBlock("legend",_hoisted_3$4$1,[createBaseVNode("span",{innerHTML:ie.config.legend},null,8,_hoisted_4$2$1),ie.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:ie.config.extra,class:"m-form-tip"},null,8,_hoisted_5$2$1)):createCommentVNode("v-if",!0)])),ie.config.schematic&&y.value?(openBlock(),createElementBlock("div",_hoisted_6$1$1,[createBaseVNode("div",_hoisted_7,[(openBlock(!0),createElementBlock(Fragment,null,renderList(ie.config.items,(re,ae)=>(openBlock(),createBlock(_sfc_main$x$2,{key:V(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:z,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$x$2,{key:V(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:z,onAddDiffCount:oe[2]||(oe[2]=le=>j())},null,8,["model","lastValues","is-compare","rules","config","prop","labelWidth","size","disabled"]))),128)):createCommentVNode("v-if",!0)],4)):createCommentVNode("v-if",!0)}}),_hoisted_1$c$1={class:"m-fields-group-list-item"},_hoisted_2$5$1={style:{"text-align":"right","margin-top":"20px"}},_hoisted_3$3$1=["innerHTML"],_sfc_main$v$2=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))}),z=computed$1(()=>{var Ie;return((Ie=t.groupModel)==null?void 0:Ie.length)||0}),V=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),_e=ref$1(1),Ce=()=>{pe.value=!1,i("swap-item",t.index,_e.value-1)};return(Ie,Ne)=>(openBlock(),createElementBlock("div",_hoisted_1$c$1,[createBaseVNode("div",null,[createVNode(unref(_sfc_main$G$2),{link:"",disabled:Ie.disabled,onClick:oe},{default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),null,{default:withCtx(()=>[y.value?(openBlock(),createBlock(unref(caret_bottom_default),{key:0})):(openBlock(),createBlock(unref(caret_right_default),{key:1}))]),_:1}),createTextVNode(toDisplayString(L.value),1)]),_:1},8,["disabled"]),withDirectives(createVNode(unref(_sfc_main$G$2),{type:"danger",size:"small",link:"",icon:unref(delete_default),disabled:Ie.disabled,onClick:j},null,8,["icon","disabled"]),[[vShow,re.value]]),de.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,link:"",size:"small",type:"primary",icon:unref(document_copy_default),disabled:Ie.disabled,onClick:he},{default:withCtx(()=>[...Ne[6]||(Ne[6]=[createTextVNode("复制",-1)])]),_:1},8,["icon","disabled"])):createCommentVNode("v-if",!0),le.value?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(_sfc_main$G$2),{link:"",size:"small",disabled:Ie.disabled,icon:unref(caret_top_default),onClick:Ne[0]||(Ne[0]=$e=>ae(-1))},{default:withCtx(()=>[...Ne[7]||(Ne[7]=[createTextVNode("上移",-1)])]),_:1},8,["disabled","icon"]),[[vShow,Ie.index!==0]]),withDirectives(createVNode(unref(_sfc_main$G$2),{link:"",size:"small",disabled:Ie.disabled,icon:unref(caret_bottom_default),onClick:Ne[1]||(Ne[1]=$e=>ae(1))},{default:withCtx(()=>[...Ne[8]||(Ne[8]=[createTextVNode("下移",-1)])]),_:1},8,["disabled","icon"]),[[vShow,Ie.index!==z.value-1]])],64)):createCommentVNode("v-if",!0),Ie.config.moveSpecifyLocation?(openBlock(),createBlock(unref(_sfc_main$i$3),{key:2,trigger:"click",placement:"top",width:"200",visible:pe.value},{reference:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",type:"primary",icon:unref(position_default),disabled:Ie.disabled,onClick:Ne[2]||(Ne[2]=$e=>pe.value=!0)},{default:withCtx(()=>[...Ne[9]||(Ne[9]=[createTextVNode("移动至",-1)])]),_:1},8,["icon","disabled"])]),default:withCtx(()=>[createBaseVNode("div",null,[createBaseVNode("div",null,[Ne[10]||(Ne[10]=createTextVNode(" 第",-1)),createVNode(unref(_sfc_main$m$3),{style:{margin:"0 5px"},modelValue:_e.value,"onUpdate:modelValue":Ne[3]||(Ne[3]=$e=>_e.value=$e),size:"small",min:1,disabled:Ie.disabled},null,8,["modelValue","disabled"]),Ne[11]||(Ne[11]=createTextVNode("行 ",-1))]),createBaseVNode("div",_hoisted_2$5$1,[createVNode(unref(_sfc_main$G$2),{size:"small",text:"",onClick:Ne[4]||(Ne[4]=$e=>pe.value=!1)},{default:withCtx(()=>[...Ne[12]||(Ne[12]=[createTextVNode("取消",-1)])]),_:1}),createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",onClick:Ce},{default:withCtx(()=>[...Ne[13]||(Ne[13]=[createTextVNode("确认",-1)])]),_:1})])])]),_:1},8,["visible"])):createCommentVNode("v-if",!0),V.value?(openBlock(),createElementBlock("span",{key:3,innerHTML:V.value,class:"m-form-tip"},null,8,_hoisted_3$3$1)):createCommentVNode("v-if",!0)]),y.value?(openBlock(),createBlock(_sfc_main$x$2,{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]=$e=>ue())},null,8,["config","model","lastValues","is-compare","labelWidth","prop","size","disabled"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$b$1={class:"m-fields-group-list"},_hoisted_2$4$1=["innerHTML"],_hoisted_3$2$1={key:1,class:"el-table__empty-block"},_sfc_main$u$2=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])},z=re=>{t.model[t.name].push(cloneDeep(t.model[t.name][re]))},V=(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$b$1,[re.config.extra?(openBlock(),createElementBlock("div",{key:0,innerHTML:re.config.extra,style:{color:"rgba(0, 0, 0, 0.45)"}},null,8,_hoisted_2$4$1)):createCommentVNode("v-if",!0),!re.model[re.name]||!re.model[re.name].length?(openBlock(),createElementBlock("div",_hoisted_3$2$1,[...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$v$2,{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:z,onSwapItem:V,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$G$2),{key:3,type:"primary",size:re.config.enableToggleMode?"small":"default",disabled:re.disabled,onClick:k},{default:withCtx(()=>[...ae[2]||(ae[2]=[createTextVNode("新增",-1)])]),_:1},8,["size","disabled"])):createCommentVNode("v-if",!0),re.config.enableToggleMode?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:4,icon:unref(grid_default),size:"small",onClick:j},{default:withCtx(()=>[...ae[3]||(ae[3]=[createTextVNode("切换为表格",-1)])]),_:1},8,["icon"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$a$1={style:{width:"100%",display:"flex","align-items":"center"}},_hoisted_2$3$1=["innerHTML"],_hoisted_3$1$1={key:0,style:{display:"flex"}},_hoisted_4$1$1={style:{flex:"1"}},_hoisted_5$1$1=["src"],_sfc_main$t$2=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=V=>filterFunction(r,V,t),L=(V,j)=>{i("change",t.model,j)},z=()=>i("addDiffCount");return(V,j)=>y.value&&y.value.length?(openBlock(),createBlock(unref(_sfc_main$F$2),{key:0,class:"box-card m-form-panel","body-style":{display:g.value?"block":"none"}},{header:withCtx(()=>[createBaseVNode("div",_hoisted_1$a$1,[createVNode(unref(_sfc_main$G$2),{style:{padding:"0"},link:"",icon:g.value?unref(caret_bottom_default):unref(caret_right_default),onClick:j[0]||(j[0]=ie=>g.value=!g.value)},null,8,["icon"]),V.config&&V.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:V.config.extra,class:"m-form-tip"},null,8,_hoisted_2$3$1)):createCommentVNode("v-if",!0),renderSlot(V.$slots,"header",{},()=>[createTextVNode(toDisplayString(k(V.config.title)),1)])])]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(V.$slots,"default"),V.config.schematic?(openBlock(),createElementBlock("div",_hoisted_3$1$1,[createBaseVNode("div",_hoisted_4$1$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.value,(ie,oe)=>{var re,ae;return openBlock(),createBlock(_sfc_main$x$2,{key:(ae=ie[((re=unref(r))==null?void 0:re.keyProp)||"__key"])!=null?ae:oe,config:ie,model:V.name?V.model[V.name]:V.model,lastValues:V.name?V.lastValues[V.name]:V.lastValues,"is-compare":V.isCompare,prop:V.prop,size:V.size,disabled:V.disabled,"label-width":V.config.labelWidth||V.labelWidth,onChange:L,onAddDiffCount:j[1]||(j[1]=le=>z())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])}),128))]),createBaseVNode("img",{class:"m-form-schematic",src:V.config.schematic},null,8,_hoisted_5$1$1)])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(y.value,(ie,oe)=>{var re,ae;return openBlock(),createBlock(_sfc_main$x$2,{key:(ae=ie[((re=unref(r))==null?void 0:re.keyProp)||"__key"])!=null?ae:oe,config:ie,model:V.name?V.model[V.name]:V.model,lastValues:V.name?V.lastValues[V.name]:V.lastValues,"is-compare":V.isCompare,prop:V.prop,size:V.size,disabled:V.disabled,"label-width":V.config.labelWidth||V.labelWidth,onChange:L,onAddDiffCount:j[2]||(j[2]=le=>z())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])}),128))])]),_:3},8,["body-style"])):createCommentVNode("v-if",!0)}}),_sfc_main$s$2=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,z)=>i("change",L,z),k=()=>i("addDiffCount");return(L,z)=>withDirectives((openBlock(),createBlock(unref(_sfc_main$B$2),{span:L.span},{default:withCtx(()=>[createVNode(_sfc_main$x$2,{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$r$2=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$e$3),{gutter:10},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(k.config.items,(z,V)=>{var j,ie;return openBlock(),createBlock(_sfc_main$s$2,{key:(ie=z[((j=unref(r))==null?void 0:j.keyProp)||"__key"])!=null?ie:V,span:z.span||k.config.span||24/k.config.items.length,config:z,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$q$2=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=z=>{g.value=z+1,r==null||r.$emit("update:stepActive",g.value)},k=(z,V)=>{i("change",t.model,V)},L=()=>i("addDiffCount");return(z,V)=>(openBlock(),createElementBlock("div",null,[createVNode(unref(_sfc_main$a$3),{active:g.value,"align-center":"",space:z.config.space},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(z.config.items,(j,ie)=>(openBlock(),createBlock(unref(_sfc_main$b$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(z.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$x$2,{key:oe[((re=unref(r))==null?void 0:re.keyProp)||"__key"],config:oe,model:j.name?z.model[j.name]:z.model,lastValues:j.name?z.lastValues[j.name]:z.lastValues,"is-compare":z.isCompare,prop:"".concat(j.name),size:z.size,disabled:z.disabled,"label-width":z.config.labelWidth||z.labelWidth,onChange:k,onAddDiffCount:V[0]||(V[0]=ae=>L())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])),[[vShow,g.value-1===ie]]):createCommentVNode("v-if",!0)],64)}),256))],64))),256))]))}}),_hoisted_1$9$1={class:"m-fields-table-wrap"},_hoisted_2$2$2=["innerHTML"],_hoisted_3$a=["innerHTML"],_hoisted_4$8={style:{display:"flex","justify-content":"space-between",margin:"10px 0"}},_hoisted_5$4={style:{display:"flex"}},_hoisted_6$3={key:1,class:"bottom",style:{"text-align":"right"}},_sfc_main$p$2=defineComponent({name:"MFormTable",__name:"Table",props:{model:{},lastValues:{default:()=>({})},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$1(),L=ref$1(),z=ref$1(),V=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=(si=[])=>si.filter((_i,Pt)=>Pt>=ie.value*j.value&&Pt+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:si,order:_i})=>{_i==="ascending"?i.model[ae.value]=i.model[ae.value].sort((Pt,Lt)=>Pt[si]-Lt[si]):_i==="descending"&&(i.model[ae.value]=i.model[ae.value].sort((Pt,Lt)=>Lt[si]-Pt[si]))},_e=(si,_i)=>{if(i.model[ae.value].splice(si,0,i.model[ae.value].splice(_i,1)[0]),i.sortKey)for(let Pt=i.model[ae.value].length-1,Lt=0;Pt>=0;Pt--,Lt++)i.model[ae.value][Lt][i.sortKey]=Pt;y==null||y.$emit("field-change",i.prop,i.model[ae.value])};let Ce;const xe=()=>{var Pt;Ce==null||Ce.destroy();const si=(Pt=L.value)==null?void 0:Pt.instance.$el,_i=si==null?void 0:si.querySelector(".el-table__body > tbody");_i&&(Ce=Sortable.create(_i,{draggable:".tmagic-design-table-row",filter:"input",preventOnFilter:!1,direction:"vertical",onEnd:({newIndex:Lt,oldIndex:At})=>{typeof Lt>"u"||typeof At>"u"||(_e(Lt,At),r("change",i.model[ae.value]),y==null||y.$emit("field-change",i.prop,i.model[ae.value]))}}))},Ie=async si=>{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 _i=i.config.items,Pt=i.config.enum||[];let Lt=[];const{length:At}=i.model[ae.value],ii=i.config.key||"id";let gi={};if(Pt.length){if(At>=Pt.length)return;Lt=Pt.filter(yi=>{let Li=0;for(;Li0&&(gi=Lt[0])}else Array.isArray(si)?_i.forEach((yi,Li)=>{yi.name&&(gi[yi.name]=si[Li])}):(typeof i.config.defaultAdd=="function"?gi=await i.config.defaultAdd(y,{model:i.model[ae.value],formValue:y==null?void 0:y.values}):i.config.defaultAdd&&(gi=i.config.defaultAdd),gi=await initValue(y,{config:_i,initValues:gi}));i.sortKey&&At&&(gi[i.sortKey]=i.model[ae.value][At-1][i.sortKey]-1),i.model[ae.value].push(gi),r("change",i.model[ae.value],{changeRecords:[{propPath:"".concat(i.prop,".").concat(i.model[ae.value].length-1),value:gi}]})};onMounted(()=>{i.config.defautSort?pe(i.config.defautSort):i.config.defaultSort&&pe(i.config.defaultSort),i.sort&&i.sortKey&&i.model[ae.value].sort((si,_i)=>_i[i.sortKey]-si[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),$e=computed$1(()=>typeof i.config.selection=="function"?i.config.selection(y,{model:i.model[ae.value]}):i.config.selection),Oe=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),Fe=si=>display$1(y,si,i),Et=(si,_i)=>typeof si=="function"?si(y,{values:y==null?void 0:y.initValues,model:i.model,formValue:y?y.values:i.model,prop:i.prop,index:_i}):si,ze=si=>{i.disabled||(i.model[ae.value].splice(si,1),r("change",i.model[ae.value]))},qe=(si,_i)=>{var Pt,Lt;typeof i.config.selection=="string"&&i.config.selection==="single"&&((Pt=L.value)==null||Pt.clearSelection(),(Lt=L.value)==null||Lt.toggleRowSelection(_i,!0)),r("select",si,_i),typeof i.config.onSelect=="function"&&i.config.onSelect(y,{selection:si,row:_i,config:i.config})},Ve=(si,_i)=>{var Pt;(Pt=L.value)==null||Pt.toggleRowSelection.call(L.value,si,_i)},kt=(si,_i)=>{const Pt=cloneDeep(si);return typeof si.itemsFunction=="function"&&(Pt.items=si.itemsFunction(_i)),delete Pt.display,Pt},Ue=si=>{g&&clearTimeout(g),g=setTimeout(()=>{_e(si,si-1),g=void 0},300)},Dt=si=>{g&&clearTimeout(g);const _i=si;for(let Pt=0;Pt<_i;Pt++)_e(si,si-1),si-=1},jt=si=>{g&&clearTimeout(g),g=setTimeout(()=>{_e(si,si+1),g=void 0},300)},ei=si=>{g&&clearTimeout(g);const _i=i.model[ae.value].length-1-si;for(let Pt=0;Pt<_i;Pt++)_e(si,si+1),si+=1},ti=si=>{const _i=i.config.delete;return _i&&typeof _i=="function"?_i(i.model[ae.value],si,y==null?void 0:y.values):!0},hi=si=>{const _i=i.config.copyable;return _i&&typeof _i=="function"?_i(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:si}):!0},ui=()=>{const si=i.model[ae.value].length;i.model[ae.value].splice(0,si),y==null||y.$emit("field-change",i.prop,i.model[ae.value])},mi=async si=>{if(!(si!=null&&si.raw))return!1;globalThis.XLSX||await asyncLoadJs("https://cdn.bootcdn.net/ajax/libs/xlsx/0.17.0/xlsx.full.min.js");const _i=new FileReader;return _i.onload=()=>{const Pt=_i.result,Lt=globalThis.XLSX.read(Pt,{type:"array"});Lt.SheetNames.forEach(At=>{const ii=globalThis.XLSX.utils.sheet_to_json(Lt.Sheets[At],{header:1});ii!=null&&ii[0]&&ii.forEach(gi=>{Ie(gi)}),setTimeout(()=>{var gi;(gi=z.value)==null||gi.clearFiles()},300)})},_i.readAsArrayBuffer(si.raw),!1},pi=si=>{j.value=si},ri=si=>{ie.value=si-1},oi=si=>{i.model[ae.value].push(cloneDeep(i.model[ae.value][si]))},bi=()=>{const si=_i=>{var At;if(!_i)return"0px";const Pt=((At=_i.match(/[^\x00-\xff]/g))==null?void 0:At.length)||0,Lt=_i.length-Pt;return"".concat(Math.max(Lt*8+Pt*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(_i=>{const Pt=_i.text||_i.label,Lt=si(Pt);return{..._i,text:Pt,labelWidth:Lt,span:_i.span||12}})},Ti=()=>{V.value&&(re.value?(V.value.classList.remove("fixed"),re.value=!1):(V.value.classList.add("fixed"),V.value.style.zIndex="".concat(k()),re.value=!0))},Si=si=>{const{prop:_i}=toRefs(i);return"".concat(_i.value).concat(_i.value?".":"").concat(si+1+ie.value*j.value-1)},ni=()=>r("addDiffCount"),fi=(si,_i)=>{r("change",i.model,_i)};return e({toggleRowSelection:Ve}),(si,_i)=>(openBlock(),createElementBlock("div",_hoisted_1$9$1,[(openBlock(),createBlock(Teleport$1,{to:"body",disabled:!re.value},[createBaseVNode("div",{ref_key:"mTable",ref:V,class:normalizeClass(["m-fields-table",{"m-fields-table-item-extra":si.config.itemExtra}])},[si.config.extra?(openBlock(),createElementBlock("span",{key:0,style:{color:"rgba(0, 0, 0, 0.45)"},innerHTML:si.config.extra},null,8,_hoisted_2$2$2)):createCommentVNode("v-if",!0),createVNode(unref(_sfc_main$2$4),{content:"拖拽可排序",placement:"left-start",disabled:si.config.dropSort!==!0},{default:withCtx(()=>[si.model[ae.value]?(openBlock(),createBlock(unref(_sfc_main$8$3),{ref_key:"tMagicTable",ref:L,style:{width:"100%"},"row-key":si.config.rowKey||"id",data:ue.value,lastData:he.value,border:si.config.border,"max-height":si.config.maxHeight,"default-expand-all":!0,key:oe.value,onSelect:qe,onSortChange:pe},{default:withCtx(()=>[si.config.itemExtra&&!si.config.dropSort?(openBlock(),createBlock(unref(_sfc_main$7$3),{key:0,fixed:"left",width:"30",type:"expand"},{default:withCtx(Pt=>[createBaseVNode("span",{innerHTML:Et(si.config.itemExtra,Pt.$index),class:"m-form-tip"},null,8,_hoisted_3$a)]),_:1})):createCommentVNode("v-if",!0),createVNode(unref(_sfc_main$7$3),{label:"操作",width:si.config.operateColWidth||100,align:"center",fixed:si.config.fixed===!1?void 0:"left"},{default:withCtx(Pt=>[renderSlot(si.$slots,"operateCol",{scope:Pt}),withDirectives(createVNode(unref(_sfc_main$G$2),{size:"small",type:"danger",link:"",title:"删除",icon:unref(delete_default),onClick:Lt=>ze(Pt.$index+1+ie.value*j.value-1)},null,8,["icon","onClick"]),[[vShow,ti(Pt.$index+1+ie.value*j.value-1)]]),hi(Pt.$index+1+ie.value*j.value-1)?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,link:"",size:"small",type:"primary",title:"复制",icon:unref(document_copy_default),disabled:si.disabled,onClick:Lt=>oi(Pt.$index+1+ie.value*j.value-1)},null,8,["icon","disabled","onClick"])):createCommentVNode("v-if",!0)]),_:3},8,["width","fixed"]),si.sort&&si.model[ae.value]&&si.model[ae.value].length>1?(openBlock(),createBlock(unref(_sfc_main$7$3),{key:1,label:"排序",width:"60"},{default:withCtx(Pt=>[Pt.$index+1+ie.value*j.value-1!==0?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,content:"点击上移,双击置顶",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{plain:"",size:"small",type:"primary",icon:unref(arrow_up_default),disabled:si.disabled,link:"",onClick:Lt=>Ue(Pt.$index+1+ie.value*j.value-1),onDblclick:Lt=>Dt(Pt.$index+1+ie.value*j.value-1)},null,8,["icon","disabled","onClick","onDblclick"])]),_:2},1024)):createCommentVNode("v-if",!0),Pt.$index+1+ie.value*j.value-1!==si.model[ae.value].length-1?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,content:"点击下移,双击置底",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{plain:"",size:"small",type:"primary",icon:unref(arrow_down_default),disabled:si.disabled,link:"",onClick:Lt=>jt(Pt.$index+1+ie.value*j.value-1),onDblclick:Lt=>ei(Pt.$index+1+ie.value*j.value-1)},null,8,["icon","disabled","onClick","onDblclick"])]),_:2},1024)):createCommentVNode("v-if",!0)]),_:1})):createCommentVNode("v-if",!0),$e.value?(openBlock(),createBlock(unref(_sfc_main$7$3),{key:2,align:"center","header-align":"center",type:"selection",width:"45"})):createCommentVNode("v-if",!0),si.showIndex&&si.config.showIndex?(openBlock(),createBlock(unref(_sfc_main$7$3),{key:3,width:"60",label:"序号"},{default:withCtx(Pt=>[createTextVNode(toDisplayString(Pt.$index+1+ie.value*j.value),1)]),_:1})):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(si.config.items,(Pt,Lt)=>{var At,ii;return openBlock(),createElementBlock(Fragment,null,[Pt.type!=="hidden"&&Fe(Pt.display)?(openBlock(),createBlock(unref(_sfc_main$7$3),{prop:Pt.name,width:Pt.width,label:Pt.label,sortable:Pt.sortable,"sort-orders":["ascending","descending"],key:(ii=Pt[((At=unref(y))==null?void 0:At.keyProp)||"__key"])!=null?ii:Lt,"class-name":si.config.dropSort===!0?"el-table__column--dropable":""},{default:withCtx(gi=>[gi.$index>-1?(openBlock(),createBlock(_sfc_main$x$2,{key:0,labelWidth:"0",disabled:si.disabled,prop:Si(gi.$index),rules:Pt.rules,config:kt(Pt,gi.row),model:gi.row,lastValues:he.value[gi.$index],"is-compare":si.isCompare,size:si.size,onChange:fi,onAddDiffCount:_i[0]||(_i[0]=yi=>ni())},null,8,["disabled","prop","rules","config","model","lastValues","is-compare","size"])):createCommentVNode("v-if",!0)]),_:2},1032,["prop","width","label","sortable","class-name"])):createCommentVNode("v-if",!0)],64)}),256))]),_:3},8,["row-key","data","lastData","border","max-height"])):createCommentVNode("v-if",!0)]),_:3},8,["disabled"]),renderSlot(si.$slots,"default"),createBaseVNode("div",_hoisted_4$8,[Ne.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,size:"small",type:"primary",disabled:si.disabled,plain:"",onClick:_i[1]||(_i[1]=Pt=>Ie())},{default:withCtx(()=>[..._i[3]||(_i[3]=[createTextVNode("新增一行",-1)])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_5$4,[si.enableToggleMode&&si.config.enableToggleMode!==!1&&!re.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,icon:unref(grid_default),size:"small",type:"primary",onClick:bi},{default:withCtx(()=>[..._i[4]||(_i[4]=[createTextVNode("展开配置",-1)])]),_:1},8,["icon"])):createCommentVNode("v-if",!0),si.config.enableFullscreen!==!1?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:1,icon:unref(full_screen_default),size:"small",type:"primary",onClick:Ti},{default:withCtx(()=>[createTextVNode(toDisplayString(re.value?"退出全屏":"全屏编辑"),1)]),_:1},8,["icon"])):createCommentVNode("v-if",!0),Oe.value?(openBlock(),createBlock(unref(_sfc_main$1M),{key:2,style:{display:"inline-block"},ref_key:"excelBtn",ref:z,action:"/noop",disabled:si.disabled,"on-change":mi,"auto-upload":!1},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{size:"small",type:"success",disabled:si.disabled,plain:""},{default:withCtx(()=>[..._i[5]||(_i[5]=[createTextVNode("导入EXCEL",-1)])]),_:1},8,["disabled"])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0),Oe.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:3,size:"small",type:"warning",disabled:si.disabled,plain:"",onClick:_i[2]||(_i[2]=Pt=>ui())},{default:withCtx(()=>[..._i[6]||(_i[6]=[createTextVNode("清空",-1)])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0)])]),si.config.pagination?(openBlock(),createElementBlock("div",_hoisted_6$3,[createVNode(unref(_sfc_main$j$3),{layout:"total, sizes, prev, pager, next, jumper","hide-on-single-page":si.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=(_e,Ce,xe)=>{const{config:Ie,model:Ne,prop:$e}=Ce,{active:Oe}=Ie;return typeof Oe=="function"?Oe(_e,{model:Ne,formValue:_e==null?void 0:_e.values,prop:$e}):0>=Ce.config.items.length?"0":typeof Oe<"u"?Oe:"0"},g=(_e,Ce,xe)=>{const{config:Ie,model:Ne,prop:$e}=xe;Ce.name=Ce.paneName,typeof Ie.onTabClick=="function"&&Ie.onTabClick(_e,Ce,{model:Ne,formValue:_e==null?void 0:_e.values,prop:$e,config:Ie});const Oe=Ie.items.find(Fe=>Ce.name===Fe.status);Oe&&typeof Oe.onTabClick=="function"&&Oe.onTabClick(_e,Ce,{model:Ne,formValue:_e==null?void 0:_e.values,prop:$e,config:Ie})},y=n,k=e,L=inject("mForm"),z=ref$1(r(L,y)),V=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(_e=>display$1(L,_e.display,y))}),ie=_e=>filterFunction(L,_e,y);watchEffect(()=>{typeof y.config.activeChange=="function"&&y.config.activeChange(L,z.value,{model:y.model,prop:y.prop})});const oe=_e=>y.config.dynamic?y.config.items:_e.items,re=_e=>g(L,_e,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 _e=await initValue(L,{config:y.config.items,initValues:{}});_e.title="标签".concat(j.value.length+1),y.model[y.name].push(_e),k("change",y.model[y.name],{changeRecords:[{propPath:"".concat(y.prop,".").concat(y.model[y.name].length-1),value:_e}]})}L==null||L.$emit("field-change",y.prop,y.model[y.name])},le=_e=>{if(!y.name)throw new Error("dynamic tab 必须配置name");typeof y.config.onTabRemove=="function"?y.config.onTabRemove(L,_e,{model:y.model,prop:y.prop,config:y.config}):(y.model[y.name].splice(+_e,1),(_e=y.model[y.name].length)&&(z.value=(+z.value-1).toString(),g(L,{name:z.value},y))),k("change",y.model),L==null||L.$emit("field-change",y.prop,y.model[y.name])},de=(_e,Ce)=>{k("change",y.model,Ce)},ue=_e=>{V.value[_e]?V.value[_e]+=1:V.value[_e]=1,k("addDiffCount")};return(_e,Ce)=>{var xe,Ie;return openBlock(),createBlock(resolveDynamicComponent(((xe=unref(i))==null?void 0:xe.component)||"el-tabs"),mergeProps({modelValue:z.value,"onUpdate:modelValue":Ce[0]||(Ce[0]=Ne=>z.value=Ne)},((Ie=unref(i))==null?void 0:Ie.props({type:_e.config.tabType,editable:_e.config.editable||!1,tabPosition:_e.config.tabPosition||"top"}))||{},{class:"tmagic-design-tabs ".concat(_e.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,$e)=>{var Oe,Fe,Et,ze;return openBlock(),createBlock(resolveDynamicComponent(((Oe=unref(t))==null?void 0:Oe.component)||"el-tab-pane"),mergeProps({key:(Et=Ne[((Fe=unref(L))==null?void 0:Fe.keyProp)||"__key"])!=null?Et:$e},{ref_for:!0},((ze=unref(t))==null?void 0:ze.props({name:ie(Ne.status)||$e.toString(),lazy:Ne.lazy||!1}))||{}),{label:withCtx(()=>[createBaseVNode("span",null,[createTextVNode(toDisplayString(ie(Ne.title)),1),createVNode(unref(_sfc_main$H$2),{hidden:!V.value[$e],value:V.value[$e],class:"diff-count-badge"},null,8,["hidden","value"])])]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(oe(Ne),qe=>{var Ve;return openBlock(),createBlock(_sfc_main$x$2,{key:qe[((Ve=unref(L))==null?void 0:Ve.keyProp)||"__key"],config:qe,disabled:_e.disabled,model:_e.config.dynamic?(_e.name?_e.model[_e.name]:_e.model)[$e]:Ne.name?(_e.name?_e.model[_e.name]:_e.model)[Ne.name]:_e.name?_e.model[_e.name]:_e.model,"last-values":unref(isEmpty$3)(_e.lastValues)?{}:_e.config.dynamic?(_e.name?_e.lastValues[_e.name]:_e.lastValues)[$e]:Ne.name?(_e.name?_e.lastValues[_e.name]:_e.lastValues)[Ne.name]:_e.name?_e.lastValues[_e.name]:_e.lastValues,"is-compare":_e.isCompare,prop:_e.config.dynamic?"".concat(_e.prop).concat(_e.prop?".":"").concat(String($e)):_e.prop,size:_e.size,"label-width":Ne.labelWidth||_e.labelWidth,"expand-more":_e.expandMore,onChange:de,onAddDiffCount:kt=>ue($e)},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$n$2=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),z=computed$1(()=>filterFunction(r,t.config.checkStrictly,t)),V=computed$1(()=>filterFunction(r,t.config.valueSeparator,t)),j=computed$1({get(){return typeof t.model[t.name]=="string"&&V.value?t.model[t.name].split(V.value):t.model[t.name]},set(ae){let le=ae;V.value&&(le=ae.join(V.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$E$2),{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=z.value)!=null?he:!1},onChange:oe},null,8,["modelValue","size","placeholder","disabled","options","popper-class","props"])}}}),_sfc_main$m$2=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$D$2),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),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$l$2=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$C$2),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),size:k.size,disabled:k.disabled,onChange:r},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.value,z=>(openBlock(),createBlock(unref(_sfc_main$D$2),{value:z.value,key:z.value,disabled:z.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(z.text),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","size","disabled"]))}}),_sfc_main$k$2=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$y$2),{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$j$2=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$x$3),{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$i$2=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,z],[V,j])=>{g.value||(g.value=[]);const ie="".concat(t.config.dateFormat||"YYYY/MM/DD"," ").concat(t.config.timeFormat||"HH:mm:ss");(!L||!z)&&(g.value=[]),L!==V&&(g.value[0]=datetimeFormatter(L,"",ie)),z!==j&&(g.value[1]=datetimeFormatter(z,"",ie))},{immediate:!0}):t.name&&t.model[t.name]&&watch(()=>t.model[t.name],(L,z)=>{const V="".concat(t.config.dateFormat||"YYYY/MM/DD"," ").concat(t.config.timeFormat||"HH:mm:ss");L!==z&&(g.value=L.map(j=>j?datetimeFormatter(j,"",V):void 0))},{immediate:!0}));const y=L=>{r==null||r.forEach((z,V)=>{t.model&&(Array.isArray(L)?t.model[z]=L[V]:t.model[z]=void 0)})},k=L=>{const z=L||[];t.name?i("change",z):(r!=null&&r.length&&y(z),i("change",t.model))};return(L,z)=>(openBlock(),createBlock(unref(_sfc_main$x$3),{modelValue:g.value,"onUpdate:modelValue":z[0]||(z[0]=V=>g.value=V),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$h$2=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,z)=>(openBlock(),createBlock(unref(_sfc_main$x$3),{modelValue:L.model[L.name],"onUpdate:modelValue":z[0]||(z[0]=V=>L.model[L.name]=V),"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$8$1={key:0},_sfc_main$g$2=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$8$1,toDisplayString(t.model[t.name]),1)):createCommentVNode("v-if",!0)}}),_hoisted_1$7$1={class:"m-fields-dynamic-field"},_sfc_main$f$2=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 V=await t.config.returnFields(t.config,t.model,r);g.value={},y.value={},V.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 V;return(V=t.model)==null?void 0:V[t.config.dynamicKey]},V=>{V!==""&&k()},{immediate:!0});onBeforeUnmount(()=>{typeof L=="function"&&L()});const z=V=>{i("change",g.value[V],{modifyKey:V})};return(V,j)=>(openBlock(),createElementBlock("div",_hoisted_1$7$1,[createVNode(unref(_sfc_main$q$3),{size:"small"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Object.keys(g.value),ie=>(openBlock(),createBlock(unref(_sfc_main$p$3),{key:ie,label:y.value[ie]},{default:withCtx(()=>[createVNode(unref(_sfc_main$n$3),{modelValue:g.value[ie],"onUpdate:modelValue":oe=>g.value[ie]=oe,placeholder:y.value[ie],onChange:oe=>z(ie)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])]),_:2},1032,["label"]))),128))]),_:1})]))}}),_sfc_main$e$2=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("v-if",!0)}}),_sfc_main$d$2=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({}),z=new Map,V=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:z,setField:(ae,le)=>z.set(ae,le),getField:ae=>z.get(ae),deleteField:ae=>z.delete(ae),$messageBox:tMagicMessageBox,$message:tMagicMessage,post:ae=>{if(V)return V({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(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:_e})=>{pe&&_e&&ue.push("".concat(pe," -> ").concat(_e)),pe&&!_e&&ue.push("".concat(pe," -> 出现错误")),!pe&&_e&&ue.push("".concat(_e))})}),new Error(ue.join("
    "))}}}),(ae,le)=>(openBlock(),createBlock(unref(_sfc_main$q$3),{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$x$2,{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("v-if",!0)]),_:1},8,["model","label-width","style","inline","label-position"]))}}),_hoisted_1$6$1={style:{"min-height":"1px"}},_sfc_main$c$2=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),z=ref$1("".concat(document.body.clientHeight-194,"px")),V=computed$1(()=>{const{length:pe}=i.config;for(let _e=0;_e{const{length:pe}=i.config;for(let _e=0;_e{L.value=1,r("close")},oe=async()=>{var pe,_e;try{const Ce=await((pe=g.value)==null?void 0:pe.submitForm());r("submit",Ce,{changeRecords:(_e=g.value)==null?void 0:_e.changeRecords})}catch(Ce){r("error",Ce)}},re=()=>{L.value-=1},ae=()=>{L.value+=1},le=(pe,_e)=>{r("change",pe,_e)},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,_e)=>(openBlock(),createBlock(unref(_sfc_main$w$3),{modelValue:y.value,"onUpdate:modelValue":_e[1]||(_e[1]=Ce=>y.value=Ce),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$e$3),{class:"dialog-footer"},{default:withCtx(()=>[createVNode(unref(_sfc_main$B$2),{span:12,style:{"text-align":"left"}},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$6$1,[renderSlot(pe.$slots,"left")])]),_:3}),createVNode(unref(_sfc_main$B$2),{span:12},{default:withCtx(()=>[renderSlot(pe.$slots,"footer",{},()=>[createVNode(unref(_sfc_main$G$2),{onClick:he,size:"small"},{default:withCtx(()=>[..._e[2]||(_e[2]=[createTextVNode("取 消",-1)])]),_:1}),j.value&&L.value>1?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,type:"info",size:"small",onClick:re},{default:withCtx(()=>[..._e[3]||(_e[3]=[createTextVNode("上一步",-1)])]),_:1})):createCommentVNode("v-if",!0),j.value&&V.value>L.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:1,type:"info",size:"small",onClick:ae},{default:withCtx(()=>[..._e[4]||(_e[4]=[createTextVNode("下一步",-1)])]),_:1})):(openBlock(),createBlock(unref(_sfc_main$G$2),{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(z.value,"; overflow-y: auto; overflow-x: hidden;"))},[createVNode(_sfc_main$d$2,{modelValue:L.value,"onUpdate:modelValue":_e[0]||(_e[0]=Ce=>L.value=Ce),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("v-if",!0)]),_:3},8,["modelValue","title","width","zIndex","fullscreen"]))}}),_hoisted_1$5$1=["href"],_hoisted_2$1$2={key:2,class:"m-fields-link"},_sfc_main$b$2=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])||{}},z=computed$1(()=>typeof t.config.form=="function"?t.config.form(y,{model:t.model||{},values:t.values||{}}):t.config.form),V=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(V.value),13,_hoisted_1$5$1)):oe.config.href&&oe.disabled?(openBlock(),createElementBlock("span",{key:1,style:normalizeStyle(oe.config.disabledCss||{})},toDisplayString(V.value),5)):(openBlock(),createElementBlock("div",_hoisted_2$1$2,[createVNode(unref(_sfc_main$G$2),{link:"",type:"primary",onClick:j},{default:withCtx(()=>[...re[0]||(re[0]=[createTextVNode("点击编辑",-1)])]),_:1}),createVNode(_sfc_main$c$2,{ref_key:"editor",ref:g,title:oe.config.formTitle||"编辑扩展配置",width:oe.config.formWidth,values:r.value,config:z.value,parentValues:oe.values,fullscreen:oe.config.fullscreen,onSubmit:ie},null,8,["title","width","values","config","parentValues","fullscreen"])]))}}),_sfc_main$a$2=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$m$3),{key:0,modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),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("v-if",!0)}}),_hoisted_1$4$1={class:"m-fields-number-range"},_sfc_main$9$2=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$4$1,[createVNode(unref(_sfc_main$n$3),{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$n$3),{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$3$2={key:1},_sfc_main$8$2=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$g$3:_sfc_main$h$3),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$f$3),{key:0,modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),size:k.size,disabled:k.disabled},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(k.config.options,z=>(openBlock(),createBlock(resolveDynamicComponent(i.value),{value:z.value,key:"".concat(z.value),onClick:withModifiers(V=>y(z.value),["prevent"])},{default:withCtx(()=>[z.tooltip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,placement:"top-start",content:z.tooltip},{default:withCtx(()=>[createBaseVNode("div",null,[z.icon?(openBlock(),createBlock(unref(_sfc_main$o$3),{key:0,size:"16"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(z.icon)))]),_:2},1024)):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(z.text),1)])]),_:2},1032,["content"])):(openBlock(),createElementBlock("div",_hoisted_1$3$2,[z.icon?(openBlock(),createBlock(unref(_sfc_main$o$3),{key:0,size:"16"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(z.icon)))]),_:2},1024)):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(z.text),1)]))]),_:2},1032,["value","onClick"]))),128))]),_:1},8,["modelValue","size","disabled"])):createCommentVNode("v-if",!0)}}),_hoisted_1$2$3={key:2},_sfc_main$7$2=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 Et,ze;const i=n,r=t,g=(Et=getDesignConfig("components"))==null?void 0:Et.option,y=(ze=getDesignConfig("components"))==null?void 0:ze.optionGroup;if(!i.model)throw new Error("不能没有model");useAddField(i.prop);const k=ref$1(),L=inject("mForm"),z=ref$1([]),V=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=(qe,Ve)=>{if(typeof Ve=="object"){const kt=i.config.valueKey||"value";return Ve[kt]===qe[kt]}return qe===Ve},pe=qe=>{const{option:Ve={text:"text",value:"value"}}=i.config,{text:kt="text",value:Ue="value"}=Ve;return qe.map(Dt=>({text:typeof kt=="function"?kt(Dt):Dt[kt],value:typeof Ue=="function"?Ue(Dt):Dt[Ue]}))},_e=async()=>{var ri;if(!i.model)return[];if(V.value.length)return V.value;j.value=!0;let qe=[];const{option:Ve}=i.config;if(!Ve)return[];const{root:kt="",totalKey:Ue="total"}=Ve;let{body:Dt={},url:jt}=Ve;typeof jt=="function"&&(jt=await jt(L,{model:i.model,formValue:L==null?void 0:L.values}));let ei={method:Ve.method||"POST",url:jt,cache:Ve.cache,timeout:Ve.timeout,mode:Ve.mode,headers:Ve.headers||{},json:Ve.json||!1};typeof Dt=="function"&&(Dt=Dt(L,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config})),Dt.query=le.value,Dt.pgSize=ae.value,Dt.pgIndex=re.value,ei.data=Dt;const ti=getConfig("request");typeof Ve.beforeRequest=="function"&&(ei=await Ve.beforeRequest(L,ei,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,prop:i.prop,config:i.config})),((ri=Ve.method)==null?void 0:ri.toLocaleLowerCase())==="jsonp"&&(ei.jsonpCallback=Ve.jsonpCallback||"callback");let hi=await ti(ei);typeof Ve.afterRequest=="function"&&(hi=await Ve.afterRequest(L,hi,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config,prop:i.prop,postOptions:ei}));const ui=getValueByKeyPath(kt,hi),mi=globalThis.parseInt(getValueByKeyPath(Ue,hi),10);mi>0&&(oe.value=mi),de.value=de.value.concat(ui),ui&&(typeof Ve.item=="function"?qe=Ve.item(ui):ui.map&&(qe=pe(ui))),j.value=!1;const pi=[];return i.config.multiple&&i.model[i.name]&&z.value.forEach(oi=>{var Ti;((Ti=i.model)==null?void 0:Ti[i.name].includes(oi.value))&&!qe.find(Si=>Si.value===oi.value)&&pi.push(oi)}),re.value===0?pi.concat(qe):z.value.concat(qe)},Ce=async()=>{if(!i.model)return[];const qe=i.model[i.name],{config:Ve}=i;return V.value=await _e(),ue.value=!1,Ve.group?Ve.multiple&&qe.findIndex?V.value.filter(kt=>kt.options.findIndex(Ue=>qe.find(Dt=>he(Ue.value,Dt))>-1)>-1):V.value.filter(kt=>kt.options.findIndex(Ue=>he(Ue.value,qe))>-1):Ve.multiple&&qe.findIndex?V.value.filter(kt=>qe.findIndex(Ue=>he(kt.value,Ue))>-1):V.value.filter(kt=>he(kt.value,qe))},xe=async()=>{var mi;if(!i.model)return[];const{option:qe}=i.config;if(!qe)return[];const{root:Ve="",initRoot:kt=""}=qe;let{initBody:Ue={}}=qe,Dt=[],jt=qe.initUrl;if(!jt)return Ce();typeof jt=="function"&&(jt=await jt(L,{model:i.model,formValue:L==null?void 0:L.values})),typeof Ue=="function"&&(Ue=Ue(L,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config}));let ei={method:qe.method||"POST",url:jt,data:{id:i.model[i.name],...Ue},mode:qe.mode,headers:qe.headers||{},json:qe.json||!1};typeof qe.beforeInitRequest=="function"&&(ei=await qe.beforeInitRequest(L,ei,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config,prop:i.prop})),((mi=qe.method)==null?void 0:mi.toLocaleLowerCase())==="jsonp"&&(ei.jsonpCallback=qe.jsonpCallback||"callback");let hi=await getConfig("request")(ei);typeof qe.afterRequest=="function"&&(hi=await qe.afterRequest(L,hi,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config,prop:i.prop,postOptions:ei}));let ui=getValueByKeyPath(kt||Ve,hi);return ui&&(Array.isArray(ui)||(ui=[ui]),typeof qe.item=="function"?Dt=qe.item(ui):ui.map&&(Dt=pe(ui))),Dt},Ie=qe=>{z.value=qe};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(qe=>{Ie(qe)})}):Array.isArray(i.config.options)?watchEffect(()=>{Ie(i.config.options)}):i.config.option&&onBeforeMount(()=>{if(!i.model)return;const qe=i.model[i.name];(Array.isArray(qe)?qe.length:typeof qe<"u")&&xe().then(Ve=>{Ie(Ve)})}),i.config.remote){const qe=watch(()=>{var Ve;return(Ve=k.value)==null?void 0:Ve.scrollbarWrap},Ve=>{Ve&&(nextTick(()=>qe()),Ve.addEventListener("scroll",async kt=>{const Ue=kt.currentTarget;ie.value||Ue.scrollHeight-Ue.clientHeight-Ue.scrollTop>1||oe.value<=z.value.length||(ie.value=!0,re.value+=1,Ie(await _e()),ie.value=!1)}))},{immediate:!0})}const Ne=L==null?void 0:L.popperClass,$e=qe=>{r("change",qe)},Oe=async qe=>{var Ve;qe&&i.config.remote&&(le.value&&k.value?(k.value.setQuery(le.value),k.value.setPreviousQuery(le.value),k.value.setSelectedLabel(le.value)):z.value.length<=(i.config.multiple?(Ve=i.model)==null?void 0:Ve[i.name].length:1)&&Ie(await _e()))},Fe=async qe=>{V.value.length||(le.value=qe,re.value=0,Ie(await _e()),i.config.multiple&&setTimeout(()=>{var Ve;(Ve=k.value)==null||Ve.setSelected()},0))};return e({options:z,setOptions:Ie}),(qe,Ve)=>{const kt=resolveDirective("loading");return qe.model?withDirectives((openBlock(),createBlock(unref(_sfc_main$c$3),{key:0,modelValue:qe.model[qe.name],"onUpdate:modelValue":Ve[0]||(Ve[0]=Ue=>qe.model[qe.name]=Ue),class:"m-select",ref_key:"tMagicSelect",ref:k,clearable:typeof qe.config.clearable<"u"?qe.config.clearable:!0,filterable:typeof qe.config.filterable<"u"?qe.config.filterable:!0,"popper-class":"m-select-popper ".concat(unref(Ne)),size:qe.size,remote:ue.value,placeholder:qe.config.placeholder,multiple:qe.config.multiple,"value-key":qe.config.valueKey||"value","allow-create":qe.config.allowCreate,disabled:qe.disabled,"remote-method":qe.config.remote&&Fe,onChange:$e,onVisibleChange:Oe},{default:withCtx(()=>[qe.config.group?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(z.value,(Ue,Dt)=>{var jt,ei;return openBlock(),createBlock(resolveDynamicComponent(((jt=unref(y))==null?void 0:jt.component)||"el-option-group"),mergeProps({key:Dt},{ref_for:!0},((ei=unref(y))==null?void 0:ei.props({label:Ue.label,disabled:Ue.disabled}))||{label:Ue.label,disabled:Ue.disabled}),{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ue.options,(ti,hi)=>{var ui,mi;return openBlock(),createBlock(resolveDynamicComponent(((ui=unref(g))==null?void 0:ui.component)||"el-option"),mergeProps({key:hi},{ref_for:!0},((mi=unref(g))==null?void 0:mi.props({label:ti.label||ti.text,value:ti.value,disabled:ti.disabled}))||{label:ti.label||ti.text,value:ti.value,disabled:ti.disabled}),null,16)}),128))]),_:2},1040)}),128)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(z.value,Ue=>{var Dt,jt;return openBlock(),createBlock(resolveDynamicComponent(((Dt=unref(g))==null?void 0:Dt.component)||"el-option"),mergeProps({class:"tmagic-design-option",key:qe.config.valueKey?Ue.value[qe.config.valueKey]:Ue.value},{ref_for:!0},((jt=unref(g))==null?void 0:jt.props({label:Ue.text,value:Ue.value,disabled:Ue.disabled}))||{label:Ue.text,value:Ue.value,disabled:Ue.disabled}),null,16)}),128)),ie.value?withDirectives((openBlock(),createElementBlock("div",_hoisted_1$2$3,null,512)),[[kt,!0]]):createCommentVNode("v-if",!0)]),_:1},8,["modelValue","clearable","filterable","popper-class","size","remote","placeholder","multiple","value-key","allow-create","disabled","remote-method"])),[[kt,j.value]]):createCommentVNode("v-if",!0)}}}),_sfc_main$6$2=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$9$3),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),size:k.size,activeValue:g.value,inactiveValue:y.value,disabled:k.disabled,onChange:r},null,8,["modelValue","size","activeValue","inactiveValue","disabled"]))}}),_hoisted_1$1$3={style:{width:"100%"}},_hoisted_2$q={style:{display:"flex","justify-content":"flex-end"}},_sfc_main$5$3=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),z=de=>{i("change",de)},V=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 _e,Ce;if(isNumber$3(pe)?_e=+pe:pe.replace(/^([0-9.]+)([a-z%]+)$/,($e,Oe,Fe)=>{_e=+Oe,Ce=Fe}),_e===void 0)return;const xe=navigator.platform.match("Mac")?de.metaKey:de.ctrlKey,Ie=de.shiftKey,Ne=de.altKey;ue?xe?_e+=100:Ne?_e=(_e*1e4+1e3)/1e4:Ie?_e=_e+10:_e+=1:he&&(xe?_e-=100:Ne?_e=(_e*1e4-1e3)/1e4:Ie?_e-=10:_e-=1),t.model[t.name]="".concat(_e).concat(Ce||""),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$1$3,[createVNode(unref(_sfc_main$n$3),{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:z,onInput:V,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$G$2),{key:0,style:{color:"#409eff"},size:de.size,onClick:withModifiers(j,["prevent"])},{default:withCtx(()=>[createTextVNode(toDisplayString(g.value.text),1)]),_:1},8,["size"])):createCommentVNode("v-if",!0)]),key:"0"}:void 0]),1032,["modelValue","size","placeholder","disabled"]),(openBlock(),createBlock(Teleport$1,{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$q,[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",onClick:ue[2]||(ue[2]=he=>y.value=!1)},{default:withCtx(()=>[...ue[3]||(ue[3]=[createTextVNode("保持原样",-1)])]),_:1}),createVNode(unref(_sfc_main$G$2),{type:"primary",size:"small",onClick:k},{default:withCtx(()=>[...ue[4]||(ue[4]=[createTextVNode("移除空格",-1)])]),_:1})]),ue[6]||(ue[6]=createBaseVNode("span",{class:"tmagic-form-text-popper-arrow","data-popper-arrow":""},null,-1))],512)):createCommentVNode("v-if",!0)]))]))}}),_sfc_main$4$3=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$n$3),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),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$3$3=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$3$4),{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$2$3=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,z],[V,j])=>{g.value||(g.value=[]),(!L||!z)&&(g.value=[]),L!==V&&(g.value[0]=L),z!==j&&(g.value[1]=z)},{immediate:!0});const y=L=>{r==null||r.forEach((z,V)=>{t.model&&(Array.isArray(L)?t.model[z]=L[V]:t.model[z]=void 0)})},k=L=>{const z=L||[];r!=null&&r.length&&y(z),i("change",z)};return(L,z)=>(openBlock(),createBlock(unref(_sfc_main$3$4),{modelValue:g.value,"onUpdate:modelValue":z[0]||(z[0]=V=>g.value=V),"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"]))}}),footerHeight=60,_sfc_main$1L=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 z=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)}},V=(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$d$3),null,{default:withCtx(()=>[createVNode(_sfc_main$d$2,{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:V},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$G$2),{type:"primary",size:oe.size,disabled:oe.disabled,loading:k.value,onClick:z},{default:withCtx(()=>[createTextVNode(toDisplayString(oe.confirmText),1)]),_:1},8,["size","disabled","loading"])])])],4)],4))}}),createForm=n=>n,defaultInstallOpt$1={},index$2={install(n,e={}){const t=Object.assign(defaultInstallOpt$1,e);n.config.globalProperties.$MAGIC_FORM=t,setConfig(t),n.component("m-form",_sfc_main$d$2),n.component("m-form-dialog",_sfc_main$c$2),n.component("m-form-container",_sfc_main$x$2),n.component("m-form-fieldset",_sfc_main$w$2),n.component("m-form-group-list",_sfc_main$u$2),n.component("m-form-panel",_sfc_main$t$2),n.component("m-form-row",_sfc_main$r$2),n.component("m-form-step",_sfc_main$q$2),n.component("m-form-table",_sfc_main$p$2),n.component("m-form-tab",_sfc_main$o$2),n.component("m-fields-text",_sfc_main$5$3),n.component("m-fields-img-upload",_sfc_main$5$3),n.component("m-fields-number",_sfc_main$a$2),n.component("m-fields-number-range",_sfc_main$9$2),n.component("m-fields-textarea",_sfc_main$4$3),n.component("m-fields-hidden",_sfc_main$e$2),n.component("m-fields-date",_sfc_main$j$2),n.component("m-fields-datetime",_sfc_main$h$2),n.component("m-fields-daterange",_sfc_main$i$2),n.component("m-fields-timerange",_sfc_main$2$3),n.component("m-fields-time",_sfc_main$3$3),n.component("m-fields-checkbox",_sfc_main$m$2),n.component("m-fields-switch",_sfc_main$6$2),n.component("m-fields-color-picker",_sfc_main$k$2),n.component("m-fields-checkbox-group",_sfc_main$l$2),n.component("m-fields-radio-group",_sfc_main$8$2),n.component("m-fields-display",_sfc_main$g$2),n.component("m-fields-link",_sfc_main$b$2),n.component("m-fields-select",_sfc_main$7$2),n.component("m-fields-cascader",_sfc_main$n$2),n.component("m-fields-dynamic-field",_sfc_main$f$2)}},_hoisted_1$2$2=["innerHTML"],_sfc_main$5$2=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,z)=>typeof L=="function"?L(z):!0,g=(L,z)=>typeof L=="function"?L(z):L,y=async(L,z,V)=>{var j,ie,oe;await((j=L.before)==null?void 0:j.call(L,z,V)),L.type==="edit"?t.editState[V]=z:await((ie=L.handler)==null?void 0:ie.call(L,z,V)),(oe=L.after)==null||oe.call(L,z,V)},k=async(L,z)=>{var re,ae;const V=(ae=(re=z.actions)==null?void 0:re.find(le=>le.type==="edit"))==null?void 0:ae.action;if(!V)return;const j={},ie=t.editState[L];t.columns.filter(le=>le.type).forEach(le=>{j[le.prop]=ie[le.prop]});const oe=await V({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,z)=>(openBlock(),createBlock(unref(_sfc_main$7$3),{label:L.config.label,width:L.config.width,fixed:L.config.fixed},{default:withCtx(V=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(L.config.actions,(j,ie)=>(openBlock(),createBlock(unref(_sfc_main$2$4),{placement:j.tooltipPlacement||"top",key:ie,disabled:!j.tooltip,content:j.tooltip},{default:withCtx(()=>[withDirectives(createVNode(unref(_sfc_main$G$2),{class:"action-btn",link:"",size:"small",type:j.buttonType||"primary",icon:j.icon,onClick:oe=>y(j,V.row,V.$index)},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:g(j.text,V.row)},null,8,_hoisted_1$2$2)]),_:2},1032,["type","icon","onClick"]),[[vShow,r(j.display,V.row)&&!L.editState[V.$index]]])]),_:2},1032,["placement","disabled","content"]))),128)),withDirectives(createVNode(unref(_sfc_main$G$2),{class:"action-btn",link:"",type:"primary",size:"small",onClick:j=>k(V.$index,L.config)},{default:withCtx(()=>[...z[0]||(z[0]=[createTextVNode("保存",-1)])]),_:2},1032,["onClick"]),[[vShow,L.editState[V.$index]]]),withDirectives(createVNode(unref(_sfc_main$G$2),{class:"action-btn",link:"",type:"primary",size:"small",onClick:j=>L.editState[V.$index]=void 0},{default:withCtx(()=>[...z[1]||(z[1]=[createTextVNode("取消",-1)])]),_:2},1032,["onClick"]),[[vShow,L.editState[V.$index]]])]),_:1},8,["label","width","fixed"]))}}),_sfc_main$4$2=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$7$3),{"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$1$2=["innerHTML"],_sfc_main$3$2=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(),createElementBlock(Fragment,null,[createCommentVNode(" @ts-nocheck "),createVNode(unref(_sfc_main$7$3),{type:"expand",width:i.config.width,fixed:i.config.fixed},{default:withCtx(g=>[i.config.table?(openBlock(),createBlock(_sfc_main$1K,{key:0,"show-header":!1,columns:i.config.table,data:i.config.prop&&g.row[i.config.prop]||[]},null,8,["columns","data"])):createCommentVNode("v-if",!0),i.config.form?(openBlock(),createBlock(unref(_sfc_main$d$2),{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("v-if",!0),i.config.expandContent?(openBlock(),createElementBlock("div",{key:2,innerHTML:i.config.expandContent(g.row,i.config.prop)},null,8,_hoisted_1$1$2)):createCommentVNode("v-if",!0),i.config.component?(openBlock(),createBlock(resolveDynamicComponent(i.config.component),normalizeProps(mergeProps({key:3},t(g.row))),null,16)):createCommentVNode("v-if",!0)]),_:1},8,["width","fixed"])],2112))}}),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$2$2=defineComponent({name:"MTablePopoverColumn",__name:"PopoverColumn",props:{config:{default:()=>({})}},setup(n){return(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createCommentVNode(" @ts-nocheck "),createVNode(unref(_sfc_main$7$3),{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$i$3),{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$G$2),{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$1K,{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("v-if",!0)]),_:2},1032,["placement","width","trigger","destroy-on-close"])):createCommentVNode("v-if",!0)]}),_:1},8,["label","width","fixed"])],2112))}}),_hoisted_1$12={key:0},_hoisted_2$p=["innerHTML"],_hoisted_3$9=["href"],_hoisted_4$7=["src"],_hoisted_5$2=["href"],_hoisted_6$2=["innerHTML"],_sfc_main$1$2=defineComponent({name:"MTableColumn",__name:"TextColumn",props:{config:{default:()=>({})},editState:{default:()=>({})}},setup(n){return(e,t)=>{const i=resolveComponent("m-form-container"),r=resolveComponent("el-tooltip");return openBlock(),createBlock(unref(_sfc_main$7$3),{"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$12,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$q$3),{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$G$2),{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$p)]),_: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$G$2),{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$4$4),{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$1K=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 _e;const i=n,r=t,g=ref$1(),y=ref$1([]),k=(_e=getDesignConfig("components"))==null?void 0:_e.tableColumn,L=computed$1(()=>{const Ce=i.columns.filter(xe=>xe.selection);return Ce.length?Ce[0]:null}),z=computed$1(()=>L.value?i.data||[]:cloneDeep(i.data)||[]),V=computed$1(()=>typeof i.border<"u"?i.border:!0),j=Ce=>{r("sort-change",Ce)},ie=(Ce,xe)=>{const Ie=L.value;Ie&&(Ie.selection,r("select",Ce,xe))},oe=Ce=>{r("select-all",Ce)},re=Ce=>{r("selection-change",Ce)},ae=(...Ce)=>{r("cell-click",...Ce)},le=(...Ce)=>{r("expand-change",...Ce)},de=(Ce,xe)=>{var Ie;(Ie=g.value)==null||Ie.toggleRowSelection(Ce,xe)},ue=(Ce,xe)=>{var Ie;(Ie=g.value)==null||Ie.toggleRowExpansion(Ce,xe)},he=()=>{var Ce;(Ce=g.value)==null||Ce.clearSelection()},pe=Ce=>typeof i.spanMethod=="function"?i.spanMethod(Ce):()=>({rowspan:0,colspan:0});return e({toggleRowSelection:de,toggleRowExpansion:ue,clearSelection:he}),(Ce,xe)=>{const Ie=resolveDirective("loading");return withDirectives((openBlock(),createBlock(unref(_sfc_main$8$3),{"tooltip-effect":"dark","tooltip-options":{popperOptions:{strategy:"absolute"}},class:"m-table",ref_key:"tMagicTable",ref:g,data:z.value,"show-header":Ce.showHeader,"max-height":Ce.bodyHeight,"default-expand-all":Ce.defaultExpandAll,border:V.value,"row-key":Ce.rowkeyName||"id","tree-props":{children:"children"},"empty-text":Ce.emptyText||"暂无数据","span-method":pe,onSortChange:j,onSelect:ie,onSelectAll:oe,onSelectionChange:re,onCellClick:ae,onExpandChange:le},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ce.columns,(Ne,$e)=>{var Oe;return openBlock(),createElementBlock(Fragment,null,[Ne.type==="expand"?(openBlock(),createBlock(_sfc_main$3$2,{config:Ne,key:$e},null,8,["config"])):Ne.type==="component"?(openBlock(),createBlock(_sfc_main$4$2,{config:Ne,key:$e},null,8,["config"])):Ne.selection?(openBlock(),createBlock(resolveDynamicComponent(((Oe=unref(k))==null?void 0:Oe.component)||"el-table-column"),{width:"40",type:"selection",key:$e,selectable:Ne.selectable},null,8,["selectable"])):Ne.actions?(openBlock(),createBlock(_sfc_main$5$2,{columns:Ce.columns,config:Ne,"rowkey-name":Ce.rowkeyName,"edit-state":y.value,key:$e,onAfterAction:xe[0]||(xe[0]=Fe=>Ce.$emit("after-action"))},null,8,["columns","config","rowkey-name","edit-state"])):Ne.type==="popover"?(openBlock(),createBlock(_sfc_main$2$2,{key:$e,config:Ne},null,8,["config"])):(openBlock(),createBlock(_sfc_main$1$2,{key:$e,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,Ce.loading]])}}}),index$1={install(n){n.component("m-table",_sfc_main$1K)}};var browser={exports:{}},safeBuffer={exports:{}},buffer={},base64Js={},hasRequiredBase64Js;function requireBase64Js(){if(hasRequiredBase64Js)return base64Js;hasRequiredBase64Js=1,base64Js.byteLength=k,base64Js.toByteArray=z,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 z(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,_e;for(_e=0;_e>16&255,ue[he++]=re>>8&255,ue[he++]=re&255;return de===2&&(re=e[oe.charCodeAt(_e)]<<2|e[oe.charCodeAt(_e+1)]>>4,ue[he++]=re&255),de===1&&(re=e[oe.charCodeAt(_e)]<<10|e[oe.charCodeAt(_e+1)]<<4|e[oe.charCodeAt(_e+2)]>>2,ue[he++]=re>>8&255,ue[he++]=re&255),ue}function V(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,V=-7,j=t?r-1:0,ie=t?-1:1,oe=n[e+j];for(j+=ie,g=oe&(1<<-V)-1,oe>>=-V,V+=k;V>0;g=g*256+n[e+j],j+=ie,V-=8);for(y=g&(1<<-V)-1,g>>=-V,V+=i;V>0;y=y*256+n[e+j],j+=ie,V-=8);if(g===0)g=1-z;else{if(g===L)return y?NaN:(oe?-1:1)*(1/0);y=y+Math.pow(2,i),g=g-z}return(oe?-1:1)*y*Math.pow(2,g-i)},ieee754.write=function(n,e,t,i,r,g){var y,k,L,z=g*8-r-1,V=(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=V):(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>=V?(k=0,y=V):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,z-=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){var 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;var 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{var Pt=new Uint8Array(1),Lt={foo:function(){return 42}};return Object.setPrototypeOf(Lt,Uint8Array.prototype),Object.setPrototypeOf(Pt,Lt),Pt.foo()===42}catch(At){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(Pt){if(Pt>r)throw new RangeError('The value "'+Pt+'" is invalid for option "size"');var Lt=new Uint8Array(Pt);return Object.setPrototypeOf(Lt,k.prototype),Lt}function k(Pt,Lt,At){if(typeof Pt=="number"){if(typeof Lt=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return j(Pt)}return L(Pt,Lt,At)}k.poolSize=8192;function L(Pt,Lt,At){if(typeof Pt=="string")return ie(Pt,Lt);if(ArrayBuffer.isView(Pt))return re(Pt);if(Pt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Pt);if(fi(Pt,ArrayBuffer)||Pt&&fi(Pt.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(fi(Pt,SharedArrayBuffer)||Pt&&fi(Pt.buffer,SharedArrayBuffer)))return ae(Pt,Lt,At);if(typeof Pt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var ii=Pt.valueOf&&Pt.valueOf();if(ii!=null&&ii!==Pt)return k.from(ii,Lt,At);var gi=le(Pt);if(gi)return gi;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Pt[Symbol.toPrimitive]=="function")return k.from(Pt[Symbol.toPrimitive]("string"),Lt,At);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Pt)}k.from=function(Pt,Lt,At){return L(Pt,Lt,At)},Object.setPrototypeOf(k.prototype,Uint8Array.prototype),Object.setPrototypeOf(k,Uint8Array);function z(Pt){if(typeof Pt!="number")throw new TypeError('"size" argument must be of type number');if(Pt<0)throw new RangeError('The value "'+Pt+'" is invalid for option "size"')}function V(Pt,Lt,At){return z(Pt),Pt<=0?y(Pt):Lt!==void 0?typeof At=="string"?y(Pt).fill(Lt,At):y(Pt).fill(Lt):y(Pt)}k.alloc=function(Pt,Lt,At){return V(Pt,Lt,At)};function j(Pt){return z(Pt),y(Pt<0?0:de(Pt)|0)}k.allocUnsafe=function(Pt){return j(Pt)},k.allocUnsafeSlow=function(Pt){return j(Pt)};function ie(Pt,Lt){if((typeof Lt!="string"||Lt==="")&&(Lt="utf8"),!k.isEncoding(Lt))throw new TypeError("Unknown encoding: "+Lt);var At=he(Pt,Lt)|0,ii=y(At),gi=ii.write(Pt,Lt);return gi!==At&&(ii=ii.slice(0,gi)),ii}function oe(Pt){for(var Lt=Pt.length<0?0:de(Pt.length)|0,At=y(Lt),ii=0;ii=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return Pt|0}function ue(Pt){return+Pt!=Pt&&(Pt=0),k.alloc(+Pt)}k.isBuffer=function(Lt){return Lt!=null&&Lt._isBuffer===!0&&Lt!==k.prototype},k.compare=function(Lt,At){if(fi(Lt,Uint8Array)&&(Lt=k.from(Lt,Lt.offset,Lt.byteLength)),fi(At,Uint8Array)&&(At=k.from(At,At.offset,At.byteLength)),!k.isBuffer(Lt)||!k.isBuffer(At))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Lt===At)return 0;for(var ii=Lt.length,gi=At.length,yi=0,Li=Math.min(ii,gi);yigi.length?k.from(Li).copy(gi,yi):Uint8Array.prototype.set.call(gi,Li,yi);else if(k.isBuffer(Li))Li.copy(gi,yi);else throw new TypeError('"list" argument must be an Array of Buffers');yi+=Li.length}return gi};function he(Pt,Lt){if(k.isBuffer(Pt))return Pt.length;if(ArrayBuffer.isView(Pt)||fi(Pt,ArrayBuffer))return Pt.byteLength;if(typeof Pt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Pt);var At=Pt.length,ii=arguments.length>2&&arguments[2]===!0;if(!ii&&At===0)return 0;for(var gi=!1;;)switch(Lt){case"ascii":case"latin1":case"binary":return At;case"utf8":case"utf-8":return oi(Pt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return At*2;case"hex":return At>>>1;case"base64":return Si(Pt).length;default:if(gi)return ii?-1:oi(Pt).length;Lt=(""+Lt).toLowerCase(),gi=!0}}k.byteLength=he;function pe(Pt,Lt,At){var ii=!1;if((Lt===void 0||Lt<0)&&(Lt=0),Lt>this.length||((At===void 0||At>this.length)&&(At=this.length),At<=0)||(At>>>=0,Lt>>>=0,At<=Lt))return"";for(Pt||(Pt="utf8");;)switch(Pt){case"hex":return Dt(this,Lt,At);case"utf8":case"utf-8":return ze(this,Lt,At);case"ascii":return kt(this,Lt,At);case"latin1":case"binary":return Ue(this,Lt,At);case"base64":return Et(this,Lt,At);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return jt(this,Lt,At);default:if(ii)throw new TypeError("Unknown encoding: "+Pt);Pt=(Pt+"").toLowerCase(),ii=!0}}k.prototype._isBuffer=!0;function _e(Pt,Lt,At){var ii=Pt[Lt];Pt[Lt]=Pt[At],Pt[At]=ii}k.prototype.swap16=function(){var Lt=this.length;if(Lt%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var At=0;AtAt&&(Lt+=" ... "),""},i&&(k.prototype[i]=k.prototype.inspect),k.prototype.compare=function(Lt,At,ii,gi,yi){if(fi(Lt,Uint8Array)&&(Lt=k.from(Lt,Lt.offset,Lt.byteLength)),!k.isBuffer(Lt))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Lt);if(At===void 0&&(At=0),ii===void 0&&(ii=Lt?Lt.length:0),gi===void 0&&(gi=0),yi===void 0&&(yi=this.length),At<0||ii>Lt.length||gi<0||yi>this.length)throw new RangeError("out of range index");if(gi>=yi&&At>=ii)return 0;if(gi>=yi)return-1;if(At>=ii)return 1;if(At>>>=0,ii>>>=0,gi>>>=0,yi>>>=0,this===Lt)return 0;for(var Li=yi-gi,Pi=ii-At,xi=Math.min(Li,Pi),Ai=this.slice(gi,yi),Vi=Lt.slice(At,ii),Hi=0;Hi2147483647?At=2147483647:At<-2147483648&&(At=-2147483648),At=+At,si(At)&&(At=gi?0:Pt.length-1),At<0&&(At=Pt.length+At),At>=Pt.length){if(gi)return-1;At=Pt.length-1}else if(At<0)if(gi)At=0;else return-1;if(typeof Lt=="string"&&(Lt=k.from(Lt,ii)),k.isBuffer(Lt))return Lt.length===0?-1:xe(Pt,Lt,At,ii,gi);if(typeof Lt=="number")return Lt=Lt&255,typeof Uint8Array.prototype.indexOf=="function"?gi?Uint8Array.prototype.indexOf.call(Pt,Lt,At):Uint8Array.prototype.lastIndexOf.call(Pt,Lt,At):xe(Pt,[Lt],At,ii,gi);throw new TypeError("val must be string, number or Buffer")}function xe(Pt,Lt,At,ii,gi){var yi=1,Li=Pt.length,Pi=Lt.length;if(ii!==void 0&&(ii=String(ii).toLowerCase(),ii==="ucs2"||ii==="ucs-2"||ii==="utf16le"||ii==="utf-16le")){if(Pt.length<2||Lt.length<2)return-1;yi=2,Li/=2,Pi/=2,At/=2}function xi(Sn,wn){return yi===1?Sn[wn]:Sn.readUInt16BE(wn*yi)}var Ai;if(gi){var Vi=-1;for(Ai=At;AiLi&&(At=Li-Pi),Ai=At;Ai>=0;Ai--){for(var Hi=!0,qi=0;qigi&&(ii=gi)):ii=gi;var yi=Lt.length;ii>yi/2&&(ii=yi/2);for(var Li=0;Li>>0,isFinite(ii)?(ii=ii>>>0,gi===void 0&&(gi="utf8")):(gi=ii,ii=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var yi=this.length-At;if((ii===void 0||ii>yi)&&(ii=yi),Lt.length>0&&(ii<0||At<0)||At>this.length)throw new RangeError("Attempt to write outside buffer bounds");gi||(gi="utf8");for(var Li=!1;;)switch(gi){case"hex":return Ie(this,Lt,At,ii);case"utf8":case"utf-8":return Ne(this,Lt,At,ii);case"ascii":case"latin1":case"binary":return $e(this,Lt,At,ii);case"base64":return Oe(this,Lt,At,ii);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Fe(this,Lt,At,ii);default:if(Li)throw new TypeError("Unknown encoding: "+gi);gi=(""+gi).toLowerCase(),Li=!0}},k.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Et(Pt,Lt,At){return Lt===0&&At===Pt.length?e.fromByteArray(Pt):e.fromByteArray(Pt.slice(Lt,At))}function ze(Pt,Lt,At){At=Math.min(Pt.length,At);for(var ii=[],gi=Lt;gi239?4:yi>223?3:yi>191?2:1;if(gi+Pi<=At){var xi,Ai,Vi,Hi;switch(Pi){case 1:yi<128&&(Li=yi);break;case 2:xi=Pt[gi+1],(xi&192)===128&&(Hi=(yi&31)<<6|xi&63,Hi>127&&(Li=Hi));break;case 3:xi=Pt[gi+1],Ai=Pt[gi+2],(xi&192)===128&&(Ai&192)===128&&(Hi=(yi&15)<<12|(xi&63)<<6|Ai&63,Hi>2047&&(Hi<55296||Hi>57343)&&(Li=Hi));break;case 4:xi=Pt[gi+1],Ai=Pt[gi+2],Vi=Pt[gi+3],(xi&192)===128&&(Ai&192)===128&&(Vi&192)===128&&(Hi=(yi&15)<<18|(xi&63)<<12|(Ai&63)<<6|Vi&63,Hi>65535&&Hi<1114112&&(Li=Hi))}}Li===null?(Li=65533,Pi=1):Li>65535&&(Li-=65536,ii.push(Li>>>10&1023|55296),Li=56320|Li&1023),ii.push(Li),gi+=Pi}return Ve(ii)}var qe=4096;function Ve(Pt){var Lt=Pt.length;if(Lt<=qe)return String.fromCharCode.apply(String,Pt);for(var At="",ii=0;iiii)&&(At=ii);for(var gi="",yi=Lt;yiii&&(Lt=ii),At<0?(At+=ii,At<0&&(At=0)):At>ii&&(At=ii),AtAt)throw new RangeError("Trying to access beyond buffer length")}k.prototype.readUintLE=k.prototype.readUIntLE=function(Lt,At,ii){Lt=Lt>>>0,At=At>>>0,ii||ei(Lt,At,this.length);for(var gi=this[Lt],yi=1,Li=0;++Li>>0,At=At>>>0,ii||ei(Lt,At,this.length);for(var gi=this[Lt+--At],yi=1;At>0&&(yi*=256);)gi+=this[Lt+--At]*yi;return gi},k.prototype.readUint8=k.prototype.readUInt8=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,1,this.length),this[Lt]},k.prototype.readUint16LE=k.prototype.readUInt16LE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,2,this.length),this[Lt]|this[Lt+1]<<8},k.prototype.readUint16BE=k.prototype.readUInt16BE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,2,this.length),this[Lt]<<8|this[Lt+1]},k.prototype.readUint32LE=k.prototype.readUInt32LE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,4,this.length),(this[Lt]|this[Lt+1]<<8|this[Lt+2]<<16)+this[Lt+3]*16777216},k.prototype.readUint32BE=k.prototype.readUInt32BE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,4,this.length),this[Lt]*16777216+(this[Lt+1]<<16|this[Lt+2]<<8|this[Lt+3])},k.prototype.readIntLE=function(Lt,At,ii){Lt=Lt>>>0,At=At>>>0,ii||ei(Lt,At,this.length);for(var gi=this[Lt],yi=1,Li=0;++Li=yi&&(gi-=Math.pow(2,8*At)),gi},k.prototype.readIntBE=function(Lt,At,ii){Lt=Lt>>>0,At=At>>>0,ii||ei(Lt,At,this.length);for(var gi=At,yi=1,Li=this[Lt+--gi];gi>0&&(yi*=256);)Li+=this[Lt+--gi]*yi;return yi*=128,Li>=yi&&(Li-=Math.pow(2,8*At)),Li},k.prototype.readInt8=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,1,this.length),this[Lt]&128?(255-this[Lt]+1)*-1:this[Lt]},k.prototype.readInt16LE=function(Lt,At){Lt=Lt>>>0,At||ei(Lt,2,this.length);var ii=this[Lt]|this[Lt+1]<<8;return ii&32768?ii|4294901760:ii},k.prototype.readInt16BE=function(Lt,At){Lt=Lt>>>0,At||ei(Lt,2,this.length);var ii=this[Lt+1]|this[Lt]<<8;return ii&32768?ii|4294901760:ii},k.prototype.readInt32LE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,4,this.length),this[Lt]|this[Lt+1]<<8|this[Lt+2]<<16|this[Lt+3]<<24},k.prototype.readInt32BE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,4,this.length),this[Lt]<<24|this[Lt+1]<<16|this[Lt+2]<<8|this[Lt+3]},k.prototype.readFloatLE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,4,this.length),t.read(this,Lt,!0,23,4)},k.prototype.readFloatBE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,4,this.length),t.read(this,Lt,!1,23,4)},k.prototype.readDoubleLE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,8,this.length),t.read(this,Lt,!0,52,8)},k.prototype.readDoubleBE=function(Lt,At){return Lt=Lt>>>0,At||ei(Lt,8,this.length),t.read(this,Lt,!1,52,8)};function ti(Pt,Lt,At,ii,gi,yi){if(!k.isBuffer(Pt))throw new TypeError('"buffer" argument must be a Buffer instance');if(Lt>gi||LtPt.length)throw new RangeError("Index out of range")}k.prototype.writeUintLE=k.prototype.writeUIntLE=function(Lt,At,ii,gi){if(Lt=+Lt,At=At>>>0,ii=ii>>>0,!gi){var yi=Math.pow(2,8*ii)-1;ti(this,Lt,At,ii,yi,0)}var Li=1,Pi=0;for(this[At]=Lt&255;++Pi>>0,ii=ii>>>0,!gi){var yi=Math.pow(2,8*ii)-1;ti(this,Lt,At,ii,yi,0)}var Li=ii-1,Pi=1;for(this[At+Li]=Lt&255;--Li>=0&&(Pi*=256);)this[At+Li]=Lt/Pi&255;return At+ii},k.prototype.writeUint8=k.prototype.writeUInt8=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,1,255,0),this[At]=Lt&255,At+1},k.prototype.writeUint16LE=k.prototype.writeUInt16LE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,2,65535,0),this[At]=Lt&255,this[At+1]=Lt>>>8,At+2},k.prototype.writeUint16BE=k.prototype.writeUInt16BE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,2,65535,0),this[At]=Lt>>>8,this[At+1]=Lt&255,At+2},k.prototype.writeUint32LE=k.prototype.writeUInt32LE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,4,4294967295,0),this[At+3]=Lt>>>24,this[At+2]=Lt>>>16,this[At+1]=Lt>>>8,this[At]=Lt&255,At+4},k.prototype.writeUint32BE=k.prototype.writeUInt32BE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,4,4294967295,0),this[At]=Lt>>>24,this[At+1]=Lt>>>16,this[At+2]=Lt>>>8,this[At+3]=Lt&255,At+4},k.prototype.writeIntLE=function(Lt,At,ii,gi){if(Lt=+Lt,At=At>>>0,!gi){var yi=Math.pow(2,8*ii-1);ti(this,Lt,At,ii,yi-1,-yi)}var Li=0,Pi=1,xi=0;for(this[At]=Lt&255;++Li>0)-xi&255;return At+ii},k.prototype.writeIntBE=function(Lt,At,ii,gi){if(Lt=+Lt,At=At>>>0,!gi){var yi=Math.pow(2,8*ii-1);ti(this,Lt,At,ii,yi-1,-yi)}var Li=ii-1,Pi=1,xi=0;for(this[At+Li]=Lt&255;--Li>=0&&(Pi*=256);)Lt<0&&xi===0&&this[At+Li+1]!==0&&(xi=1),this[At+Li]=(Lt/Pi>>0)-xi&255;return At+ii},k.prototype.writeInt8=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,1,127,-128),Lt<0&&(Lt=255+Lt+1),this[At]=Lt&255,At+1},k.prototype.writeInt16LE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,2,32767,-32768),this[At]=Lt&255,this[At+1]=Lt>>>8,At+2},k.prototype.writeInt16BE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,2,32767,-32768),this[At]=Lt>>>8,this[At+1]=Lt&255,At+2},k.prototype.writeInt32LE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,4,2147483647,-2147483648),this[At]=Lt&255,this[At+1]=Lt>>>8,this[At+2]=Lt>>>16,this[At+3]=Lt>>>24,At+4},k.prototype.writeInt32BE=function(Lt,At,ii){return Lt=+Lt,At=At>>>0,ii||ti(this,Lt,At,4,2147483647,-2147483648),Lt<0&&(Lt=4294967295+Lt+1),this[At]=Lt>>>24,this[At+1]=Lt>>>16,this[At+2]=Lt>>>8,this[At+3]=Lt&255,At+4};function hi(Pt,Lt,At,ii,gi,yi){if(At+ii>Pt.length)throw new RangeError("Index out of range");if(At<0)throw new RangeError("Index out of range")}function ui(Pt,Lt,At,ii,gi){return Lt=+Lt,At=At>>>0,gi||hi(Pt,Lt,At,4),t.write(Pt,Lt,At,ii,23,4),At+4}k.prototype.writeFloatLE=function(Lt,At,ii){return ui(this,Lt,At,!0,ii)},k.prototype.writeFloatBE=function(Lt,At,ii){return ui(this,Lt,At,!1,ii)};function mi(Pt,Lt,At,ii,gi){return Lt=+Lt,At=At>>>0,gi||hi(Pt,Lt,At,8),t.write(Pt,Lt,At,ii,52,8),At+8}k.prototype.writeDoubleLE=function(Lt,At,ii){return mi(this,Lt,At,!0,ii)},k.prototype.writeDoubleBE=function(Lt,At,ii){return mi(this,Lt,At,!1,ii)},k.prototype.copy=function(Lt,At,ii,gi){if(!k.isBuffer(Lt))throw new TypeError("argument should be a Buffer");if(ii||(ii=0),!gi&&gi!==0&&(gi=this.length),At>=Lt.length&&(At=Lt.length),At||(At=0),gi>0&&gi=this.length)throw new RangeError("Index out of range");if(gi<0)throw new RangeError("sourceEnd out of bounds");gi>this.length&&(gi=this.length),Lt.length-At>>0,ii=ii===void 0?this.length:ii>>>0,Lt||(Lt=0);var Li;if(typeof Lt=="number")for(Li=At;Li55295&&At<57344){if(!gi){if(At>56319){(Lt-=3)>-1&&yi.push(239,191,189);continue}else if(Li+1===ii){(Lt-=3)>-1&&yi.push(239,191,189);continue}gi=At;continue}if(At<56320){(Lt-=3)>-1&&yi.push(239,191,189),gi=At;continue}At=(gi-55296<<10|At-56320)+65536}else gi&&(Lt-=3)>-1&&yi.push(239,191,189);if(gi=null,At<128){if((Lt-=1)<0)break;yi.push(At)}else if(At<2048){if((Lt-=2)<0)break;yi.push(At>>6|192,At&63|128)}else if(At<65536){if((Lt-=3)<0)break;yi.push(At>>12|224,At>>6&63|128,At&63|128)}else if(At<1114112){if((Lt-=4)<0)break;yi.push(At>>18|240,At>>12&63|128,At>>6&63|128,At&63|128)}else throw new Error("Invalid code point")}return yi}function bi(Pt){for(var Lt=[],At=0;At>8,gi=At%256,yi.push(gi),yi.push(ii);return yi}function Si(Pt){return e.toByteArray(ri(Pt))}function ni(Pt,Lt,At,ii){for(var gi=0;gi=Lt.length||gi>=Pt.length);++gi)Lt[gi+At]=Pt[gi];return gi}function fi(Pt,Lt){return Pt instanceof Lt||Pt!=null&&Pt.constructor!=null&&Pt.constructor.name!=null&&Pt.constructor.name===Lt.name}function si(Pt){return Pt!==Pt}var _i=function(){for(var Pt="0123456789abcdef",Lt=new Array(256),At=0;At<16;++At)for(var ii=At*16,gi=0;gi<16;++gi)Lt[ii+gi]=Pt[At]+Pt[gi];return Lt}()}(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 z=i(y);return k!==void 0?typeof L=="string"?z.fill(k,L):z.fill(k):z.fill(0),z},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 z=0;z.*?/,k=/[<>\/\u2028\u2029]/g,L=["*","async"],z={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\u2028":"\\u2028","\u2029":"\\u2029"};function V(oe){return z[oe]}function j(){for(var oe=n(e),re="",ae=0;ae0}),kt=Ve.filter(function(Ue){return L.indexOf(Ue)===-1});return kt.length>0?(Ve.indexOf("async")>-1?"async ":"")+"function"+(Ve.join("").indexOf("*")>-1?"*":"")+ze.substr(qe):ze}if(ae.ignoreFunction&&typeof re=="function"&&(re=void 0),re===void 0)return String(re);var Fe;return ae.isJSON&&!ae.space?Fe=JSON.stringify(re):Fe=JSON.stringify(re,ae.isJSON?null:$e,ae.space),typeof Fe!="string"?String(Fe):(ae.unsafe!==!0&&(Fe=Fe.replace(k,V)),le.length===0&&de.length===0&&ue.length===0&&he.length===0&&pe.length===0&&_e.length===0&&Ce.length===0&&xe.length===0&&Ie.length===0&&Ne.length===0?Fe:Fe.replace(i,function(Et,ze,qe,Ve){if(ze)return Et;if(qe==="D")return'new Date("'+ue[Ve].toISOString()+'")';if(qe==="R")return"new RegExp("+oe(de[Ve].source)+', "'+de[Ve].flags+'")';if(qe==="M")return"new Map("+oe(Array.from(he[Ve].entries()),ae)+")";if(qe==="S")return"new Set("+oe(Array.from(pe[Ve].values()),ae)+")";if(qe==="A")return"Array.prototype.slice.call("+oe(Object.assign({length:_e[Ve].length},_e[Ve]),ae)+")";if(qe==="U")return"undefined";if(qe==="I")return xe[Ve];if(qe==="B")return'BigInt("'+Ie[Ve]+'")';if(qe==="L")return"new URL("+oe(Ne[Ve].toString(),ae)+")";var kt=le[Ve];return Oe(kt)}))},serializeJavascript}var serializeJavascriptExports=requireSerializeJavascript();const serialize=getDefaultExportFromCjs(serializeJavascriptExports);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(n){return isWhiteSpace$3(n)||n===10||n===13}function isQuote$2(n){return n===39||n===34}class Scanner{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 Scanner(this.string,e,t)}peek(){return this.string.charCodeAt(this.pos)}next(){if(this.pos1&&(r.multiple=!0),t.jsx&&text$1(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$1(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(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))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(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(n,e){let t=0,i;const r=new Scanner(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))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(z){return r==null||r('Unable to parse "'.concat(k,'" snippet'),z),null}t.push(k),walkResolve(L,g),t.pop();for(const z of L.children){if(y.attributes){const V=z.attributes||[],j=y.attributes||[];z.attributes=i?j.concat(V):V.concat(j)}mergeNodes(y,z)}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 z="",V;const j=L;(V=L.match(reElement))&&(z=getBlockName(y,V[1].length,t.context)+g["bem.element"]+V[2],r.push(z),L=L.slice(V[0].length)),(V=L.match(reModifier))&&(z||(z=getBlockName(y,V[1].length),r.push(z)),r.push("".concat(z).concat(g["bem.modifier"]).concat(V[2])),L=L.slice(V[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(n,e,t){const i=(g,y,k)=>{const{parent:L,current:z}=t;t.parent=z,t.current=g,e(g,y,k,t,r),t.current=z,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(n,e){const t=createWalkState(e);return t.comment=createCommentState(e),walk(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 z=tagName(n.name,y);if(commentNodeBefore(n,i),pushString(g,"<".concat(z)),n.attributes)for(const V of n.attributes)shouldOutputAttribute(V)&&pushAttribute(V,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 V=n.value.some(hasNewline)||startsWithBlockTag(n.value,y);V&&pushNewline(i.out,++g.level),pushTokens(n.value,i),V&&pushNewline(i.out,--g.level)}if(n.children.forEach(r),!n.value&&!n.children.length){const V=y.options["output.formatLeafNode"]||y.options["output.formatForce"].includes(n.name);V&&pushNewline(i.out,++g.level),pushTokens(caret,i),V&&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 z=isSnippet(i.parent)?0:1;pushNewline(g,g.level-z)}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),z=attrQuote(n,i);r&&(y=getMultiValue(y,r,n.multiple)||y),y=attrName(y,i),i.options["jsx.enabled"]&&n.multiple&&(L=expressionStart,z=expressionEnd);const V=g?getMultiValue(n.name,g,n.multiple):null;if(V&&(k==null?void 0:k.length)===1&&typeof k[0]=="string"){const j=k[0];k=[isPropKey(j)?"".concat(V,".").concat(j):"".concat(V,"['").concat(j,"']")],i.options["jsx.enabled"]&&(L=expressionStart,z=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,z)):i.options["output.selfClosingStyle"]!=="html"&&pushString(t,"="+L+z)}}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=z)}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,z=y,V=0,j=0,ie=!1,oe=!1;for(;k>4).toString(16)}function toHex(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(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={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={type:"markup",syntax:"html",variables,snippets:{},options:defaultOptions$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),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[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$2(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(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={type:"markup",lookAhead:!0,prefix:""};function extractAbbreviation$1(n,e=n.length,t={}){const i=Object.assign(Object.assign({},defaultOptions),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(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(parse$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:z,abbreviation:V,currentLineTillPosition:j,filter:ie}=L;if(getCurrentWord(j)===V&&j.endsWith("<".concat(V))&&!y)return;const re=getExpandOptions(i,ie);let ae="",le,de=[];if(((he,pe)=>{if(isAbbreviationValid(he,V)){try{ae=expandAbbreviation$1(pe,re),y&&"!important".startsWith(pe)&&(ae="!important")}catch(_e){}!ae||isExpandedTextNoise(he,pe,ae,re.options)||(le={kind:n.languages.CompletionItemKind.Property,label:V+(ie?"|"+ie.replace(",","|"):""),documentation:replaceTabStopsWithCursors(ae),detail:"Emmet abbreviation",insertTextRules:n.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:z,insertText:escapeNonTabStopDollar(addFinalTabStop(ae))},de=[le])}})(i,V),y){if(V.length>4&&cssData.properties.some(he=>he.startsWith(V)))return{suggestions:[],incomplete:!0};if(le&&ae.length){le.range=z,le.insertText=escapeNonTabStopDollar(addFinalTabStop(ae)),le.documentation=replaceTabStopsWithCursors(ae),le.label=removeTabStops(ae),le.filterText=V;const he=stylesheetCustomSnippetsKeyCache.has(i)?stylesheetCustomSnippetsKeyCache.get(i):stylesheetCustomSnippetsKeyCache.get("css");if(de=makeSnippetSuggestion(n,he!=null?he:[],V,V,z,re,"Emmet Custom Snippet",!1),!de.find(pe=>pe.insertText===(le==null?void 0:le.insertText))){const pe=new RegExp(".*"+V.split("").map(_e=>_e==="$"||_e==="+"?"\\"+_e:_e).join(".*")+".*","i");(/\d/.test(V)||pe.test(le.label))&&de.push(le)}}}else{let he=V;const pe=V.match(/(>|\+)([\w:-]+)$/);if(pe&&pe.length===3&&(he=pe[2]),i!=="xml"){const _e=makeSnippetSuggestion(n,commonlyUsedTags,he,V,z,re,"Emmet Abbreviation");de=de.concat(_e)}{const _e=makeSnippetSuggestion(n,markupSnippetKeys.filter(Ce=>!commonlyUsedTags.includes(Ce)),he,V,z,re,"Emmet Abbreviation");le&&_e.length>0&&he!==V&&(le.sortText="0"+le.label,_e.forEach(Ce=>{Ce.filterText=V,Ce.sortText="9"+V})),de=de.concat(_e)}i==="html"&&de.length>=2&&V.includes(":")&&(le==null?void 0:le.insertText)==="<".concat(V,">${0}")&&(de=de.filter(_e=>_e.label!==V))}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(z=>{if(!z.startsWith(t.toLowerCase())||k&&z===t.toLowerCase())return;const V=i+z.substr(t.length);let j;try{j=expandAbbreviation$1(V,g)}catch(oe){}if(!j)return;const ie={kind:n.languages.CompletionItemKind.Property,label:t+z.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 z=n.substring(k,L);if(i=z==="0",i)break;let V=!1;if(n[g++]==":")for(;gNumber(e)?(e=Number(z),t=[{numberStart:k,numberEnd:L}],r=!V):Number(z)===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 z=e.indexOf(k[0],Math.max(e.length-k.length,0));z=z>=0?z:e.length;const V=e.substring(0,z);return t==="".concat(V).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(V=>V.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),z=k==="stylesheet"?(t=customSnippetsRegistry[n])!==null&&t!==void 0?t:customSnippetsRegistry[L]:customSnippetsRegistry[n];return{type:k,options:y,variables:{},snippets:z,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),z=((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,z,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")}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(_e,Ce,xe){return Function.prototype.apply.call(_e,Ce,xe)},t;n&&typeof n.ownKeys=="function"?t=n.ownKeys:Object.getOwnPropertySymbols?t=function(_e){return Object.getOwnPropertyNames(_e).concat(Object.getOwnPropertySymbols(_e))}:t=function(_e){return Object.getOwnPropertyNames(_e)};function i(pe){console&&console.warn&&console.warn(pe)}var r=Number.isNaN||function(_e){return _e!==_e};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(_e){if(typeof _e!="number"||_e<0||r(_e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+_e+".");return this._maxListeners=_e,this};function L(pe){return pe._maxListeners===void 0?g.defaultMaxListeners:pe._maxListeners}g.prototype.getMaxListeners=function(){return L(this)},g.prototype.emit=function(_e){for(var Ce=[],xe=1;xe0&&($e=Ce[0]),$e instanceof Error)throw $e;var Oe=new Error("Unhandled error."+($e?" ("+$e.message+")":""));throw Oe.context=$e,Oe}var Fe=Ne[_e];if(Fe===void 0)return!1;if(typeof Fe=="function")e(Fe,this,Ce);else for(var Et=Fe.length,ze=re(Fe,Et),xe=0;xe0&&$e.length>Ie&&!$e.warned){$e.warned=!0;var Oe=new Error("Possible EventEmitter memory leak detected. "+$e.length+" "+String(_e)+" listeners added. Use emitter.setMaxListeners() to increase limit");Oe.name="MaxListenersExceededWarning",Oe.emitter=pe,Oe.type=_e,Oe.count=$e.length,i(Oe)}return pe}g.prototype.addListener=function(_e,Ce){return z(this,_e,Ce,!1)},g.prototype.on=g.prototype.addListener,g.prototype.prependListener=function(_e,Ce){return z(this,_e,Ce,!0)};function V(){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,_e,Ce){var xe={fired:!1,wrapFn:void 0,target:pe,type:_e,listener:Ce},Ie=V.bind(xe);return Ie.listener=Ce,xe.wrapFn=Ie,Ie}g.prototype.once=function(_e,Ce){return k(Ce),this.on(_e,j(this,_e,Ce)),this},g.prototype.prependOnceListener=function(_e,Ce){return k(Ce),this.prependListener(_e,j(this,_e,Ce)),this},g.prototype.removeListener=function(_e,Ce){var xe,Ie,Ne,$e,Oe;if(k(Ce),Ie=this._events,Ie===void 0)return this;if(xe=Ie[_e],xe===void 0)return this;if(xe===Ce||xe.listener===Ce)--this._eventsCount===0?this._events=Object.create(null):(delete Ie[_e],Ie.removeListener&&this.emit("removeListener",_e,xe.listener||Ce));else if(typeof xe!="function"){for(Ne=-1,$e=xe.length-1;$e>=0;$e--)if(xe[$e]===Ce||xe[$e].listener===Ce){Oe=xe[$e].listener,Ne=$e;break}if(Ne<0)return this;Ne===0?xe.shift():ae(xe,Ne),xe.length===1&&(Ie[_e]=xe[0]),Ie.removeListener!==void 0&&this.emit("removeListener",_e,Oe||Ce)}return this},g.prototype.off=g.prototype.removeListener,g.prototype.removeAllListeners=function(_e){var Ce,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[_e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete xe[_e]),this;if(arguments.length===0){var Ne=Object.keys(xe),$e;for(Ie=0;Ie=0;Ie--)this.removeListener(_e,Ce[Ie]);return this};function ie(pe,_e,Ce){var xe=pe._events;if(xe===void 0)return[];var Ie=xe[_e];return Ie===void 0?[]:typeof Ie=="function"?Ce?[Ie.listener||Ie]:[Ie]:Ce?le(Ie):re(Ie,Ie.length)}g.prototype.listeners=function(_e){return ie(this,_e,!0)},g.prototype.rawListeners=function(_e){return ie(this,_e,!1)},g.listenerCount=function(pe,_e){return typeof pe.listenerCount=="function"?pe.listenerCount(_e):oe.call(pe,_e)},g.prototype.listenerCount=oe;function oe(pe){var _e=this._events;if(_e!==void 0){var Ce=_e[pe];if(typeof Ce=="function")return 1;if(Ce!==void 0)return Ce.length}return 0}g.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};function re(pe,_e){for(var Ce=new Array(_e),xe=0;xe<_e;++xe)Ce[xe]=pe[xe];return Ce}function ae(pe,_e){for(;_e+1z.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(z=>z.enable))==null?void 0:y.data,i=cloneDeep(this.mockData)||this.getDefaultData()}else if(!t.initialData)i=this.getDefaultData();else{lo(this,vo,new r((k=t.initialData)!=null?k:{})),this.isInit=!0;return}lo(this,vo,new r(i!=null?i:{}))}get id(){return On(this,aa)}get type(){return On(this,ql)}get schema(){return On(this,la)}get fields(){return On(this,ur)}get methods(){return On(this,ca)}setFields(t){lo(this,ur,t)}setMethods(t){lo(this,ca,t)}get data(){return On(this,vo).getData("")}setData(t,i){On(this,vo).update(t,i);const r={updateData:t,path:i};this.emit("change",r)}setValue(t,i){return this.setData(i,t)}onDataChange(t,i){On(this,vo).on(t,i)}offDataChange(t,i){On(this,vo).off(t,i)}getDefaultData(){return getDefaultValueFromFields(On(this,ur))}async init(){this.isInit=!0}destroy(){lo(this,ur,[]),this.removeAllListeners(),On(this,vo).destroy()}},ql=new WeakMap,aa=new WeakMap,la=new WeakMap,vo=new WeakMap,ur=new WeakMap,ca=new WeakMap,pc);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 V;const{url:e,method:t="GET",headers:i={},params:r={},data:g={},...y}=n,k=urlencoded(r);let L=JSON.stringify(g);return(V=i["Content-Type"])!=null&&V.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 zs,da,ua,Yl;class HttpDataSource extends DataSource$1{constructor(t){const{options:i}=t.schema;super(t);Ci(this,"isLoading",!1);Ci(this,"error");Ci(this,"httpOptions");io(this,zs);io(this,da,[]);io(this,ua,[]);io(this,Yl,"http");this.httpOptions=i,typeof t.request=="function"?lo(this,zs,t.request):typeof globalThis.fetch=="function"&&lo(this,zs,webRequest),this.methods.forEach(r=>{typeof r.content=="function"&&(r.timing==="beforeRequest"&&On(this,da).push(r.content),r.timing==="afterRequest"&&On(this,ua).push(r.content))})}get type(){return On(this,Yl)}async init(){this.schema.autoFetch&&await this.request(),super.init()}async request(t={}){var z,V;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 On(this,da))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((z=On(this,zs))==null?void 0:z.call(this,L));for(const ie of On(this,ua))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})),(V=this.schema.responseOptions)!=null&&V.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"})}}zs=new WeakMap,da=new WeakMap,ua=new WeakMap,Yl=new WeakMap;const cache=new Map,getDeps=(n,e,t)=>{let i;if(t){const L=[];e.forEach(z=>{traverseNode(z,V=>{L.push(V.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,z)=>"".concat(L).includes(DSL_NODE_KEY_COPY_PREFIX)?!1:isDataSourceTarget(n,L,z,!0)})),r.addTarget(new Target({id:n.id,type:"cond",isTarget:(L,z)=>isDataSourceCondTarget(n,L,z,!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,z=e[k];if(!z||!L.length)break;try{const V=getValueByKeyPath(L.join("."),z);if(!compiledCond(i,V,r,g)){t=!1;break}}catch(V){console.warn(V)}}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 V,j;const{items:k,...L}=t,z=cloneDeep(L);return(V=r[L.id])!=null&&V.keys.length&&!g&&(z.condResult=compliedConditions(L,y)),Array.isArray(k)&&k.length?z.items=k.map(ie=>compliedIteratorItem({compile:n,dsId:e,item:ie,deps:i,condDeps:r,inEditor:g,ctxData:y})):k&&(z.items=k),(j=i[z.id])!=null&&j.keys.length?compiledNode(n,z,{[e]:i},e):z},Fn=class Fn extends EventEmitter$3{constructor({app:t,useMock:i,initialData:r}){var g,y;super();Ci(this,"app");Ci(this,"dataSourceMap",new Map);Ci(this,"data",{});Ci(this,"initialData",{});Ci(this,"useMock",!1);Fn.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;Fn.dataSourceClassMap.set(t,i),(r=Fn.waitInitSchemaList)==null||r.forEach((g,y)=>{const k=g[t]||[];for(let L=k.shift();L;L=k.shift()){const z=y.addDataSource(L);z&&y.init(z)}})}static getDataSourceClass(t){return Fn.dataSourceClassMap.get(t)}static clearDataSourceClass(){Fn.dataSourceClassMap.clear(),Fn.dataSourceClassMap.set("base",DataSource$1),Fn.dataSourceClassMap.set("http",HttpDataSource)}static registerObservedData(t){Fn.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=Fn.dataSourceClassMap.get(t.type);if(!i){let y=Fn.waitInitSchemaList.get(this);y||(y={},Fn.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:Fn.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(t,i,r=!1){var L;if(t[NODE_DISABLE_DATA_SOURCE_KEY])return t;const{items:g,...y}=t,k=cloneDeep(y);return g&&(k.items=Array.isArray(g)&&r?g.map(z=>this.compiledNode(z,i,r)):g),y.condResult===!1||y.visible===!1?k:compiledNode(z=>compiledNodeField(z,this.data),k,((L=this.app.dsl)==null?void 0:L.dataSourceDeps)||{},i)}compliedConds(t){return t[NODE_DISABLE_DATA_SOURCE_KEY]?!0: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",z=createIteratorContentData(t,k.id,y,this.data),{deps:V={},condDeps:j={}}=getDeps(k.schema,i,L);return!Object.keys(V).length&&!Object.keys(j).length?i:i.map(ie=>compliedIteratorItem({compile:oe=>compiledNodeField(oe,z),dsId:k.id,item:ie,deps:V,condDeps:j,inEditor:L,ctxData:z}))}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(),Fn.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)})}};Ci(Fn,"dataSourceClassMap",new Map([["base",DataSource$1],["http",HttpDataSource]])),Ci(Fn,"ObservedDataClass",SimpleObservedData),Ci(Fn,"waitInitSchemaList",new Map);let DataSourceManager=Fn;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 j,ie,oe;const L=((j=i.dataSourceDeps)==null?void 0:j[y])||{},z=((ie=i.dataSourceCondDeps)==null?void 0:ie[y])||{},V=union([...Object.keys(z),...Object.keys(L)]);for(const re of i.items)if(n.platform==="editor"||isPage(re)&&re.id===((oe=n.page)==null?void 0:oe.data.id)||isPageFragment(re)){const ae=getNodes(V,[re]).map(le=>{var ue,he,pe;n.platform!=="editor"&&(le.condResult=g.compliedConds(le));const de=g.compiledNode(le);if(typeof((ue=n.page)==null?void 0:ue.setData)=="function"){isPage(de)?n.page.setData(de):re.id===n.page.data.id&&!n.page.instance&&replaceChildNode(de,[n.page.data]),(he=n.getNode(le.id))==null||he.setData(de);for(const[,_e]of n.pageFragments)_e.data.id===de.id?_e.setData(de):_e.data.id===re.id&&((pe=_e.getNode(de.id))==null||pe.setData(de),_e.instance||replaceChildNode(de,[_e.data]))}return de});ae.length&&g.emit("update-data",ae,y,k,re.id)}}),g};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){Ci(this,"isTarget");Ci(this,"id");Ci(this,"name");Ci(this,"type",DepTargetType.DEFAULT);Ci(this,"deps",{});Ci(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),z=L.shift();!z||z!==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$4(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){Ci(this,"targetsList",{});Ci(this,"childrenProp","items");Ci(this,"idProp","id");Ci(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=[DepTargetType.DATA_SOURCE,DepTargetType.DATA_SOURCE_COND,DepTargetType.DATA_SOURCE_METHOD];if(e[NODE_DISABLE_DATA_SOURCE_KEY]&&g.includes(t.type)||e[NODE_DISABLE_CODE_BLOCK_KEY]&&t.type===DepTargetType.CODE_BLOCK)return;const y=(k,L="")=>{const z=(V,j)=>{const ie=V===this.childrenProp,oe=L?"".concat(L,".").concat(V):V;if(t.isTarget(oe,j))t.updateDep({id:e[this.idProp],name:"".concat(e[this.nameProp]||e[this.idProp]),data:i,key:oe});else if(!ie&&Array.isArray(j))for(let re=0,ae=j.length;re"u"||j===""||z(V,j)};y(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)}}class Env{constructor(e=(r=>(r=(i=>(i=globalThis.navigator)==null?void 0:i.userAgent)())!=null?r:"")(),t={}){Ci(this,"isIos",!1);Ci(this,"isIphone",!1);Ci(this,"isIpad",!1);Ci(this,"isAndroid",!1);Ci(this,"isAndroidPad",!1);Ci(this,"isMac",!1);Ci(this,"isWin",!1);Ci(this,"isMqq",!1);Ci(this,"isWechat",!1);Ci(this,"isWeb",!1);Ci(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(){Ci(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();Ci(this,"app");Ci(this,"eventQueue",[]);Ci(this,"nodeEventList",new Map);Ci(this,"dataSourceEventList",new Map);Ci(this,"beforeEventHandler");Ci(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 z=(V,...j)=>{this.eventHandler(g,t,j)};this.nodeEventList.set(z,L),this.on(L,z)})}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 V;const[k,...L]=((V=y.name)==null?void 0:V.split("."))||[];if(!k)return;const z=(...j)=>{this.eventHandler(y,i,j)};r.set(y.name,z),k===DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX?i==null||i.onDataChange(L.join("."),z):i.on(k,z)}),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())}getEventQueue(){return this.eventQueue}addEventToQueue(t){this.eventQueue.push(t)}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)});Ci(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={}}={}){Ci(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();Ci(this,"data");Ci(this,"style");Ci(this,"events",[]);Ci(this,"instance",null);Ci(this,"page");Ci(this,"parent");Ci(this,"app");Ci(this,"store");Ci(this,"eventKeys",new Map);Ci(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){var g;this.data=t;const{events:i,style:r}=t;this.events=i||[],this.style=r||{};try{this.instance&&!Object.isFrozen(this.instance)&&((g=Object.getOwnPropertyDescriptor(this.instance,"config"))==null?void 0:g.writable)!==!1&&!this.instance.__isVue&&(this.instance.config=t)}catch(y){}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:z=HookCodeType.CODE,codeId:V,params:j={}}=L;let ie;const oe={app:this.app,node:this,params:i||j};if(z===HookCodeType.CODE&&typeof V=="string"&&((g=this.app.codeDsl)!=null&&g[V]))ie=this.app.codeDsl[V].content;else if(z===HookCodeType.DATA_SOURCE_METHOD&&Array.isArray(V)&&V.length>1){const re=(y=this.app.dataSourceManager)==null?void 0:y.get(V[0]);ie=(k=re==null?void 0:re.methods.find(ae=>ae.name===V[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,this.data[NODE_DISABLE_CODE_BLOCK_KEY]!==!0&&this.runHookCode("destroy"),this.listenLifeSafe()}),t&&this.setInstance(t),this.data[NODE_DISABLE_CODE_BLOCK_KEY]!==!0&&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);if(this.app.eventHelper){for(const r of this.app.eventHelper.getEventQueue())for(const[,g]of this.app.pageFragments){const y=g.getNode(r.toId);y&&y===this&&(typeof t[r.method]=="function"&&await t[r.method](r.fromCpt,...r.args),r.handled=!0)}this.app.eventHelper.eventQueue=this.app.eventHelper.getEventQueue().filter(r=>!r.handled)}this.data[NODE_DISABLE_CODE_BLOCK_KEY]!==!0&&this.runHookCode("mounted")})()})}};class IteratorContainer extends Node$3{constructor(){super(...arguments);Ci(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,z,V,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=(V=(z=this.app.dsl)==null?void 0:z.items)==null?void 0:V.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);Ci(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(z=>z.id===t.pageFragmentId);L&&this.app.pageFragments.set(t.id,new Page({config:L,app:this.app}))}(k=t.items)==null||k.forEach(L=>{this.initNode(L,r)})}getNode(t,{iteratorContainerId:i,iteratorIndex:r,pageFragmentContainerId:g}={}){var y;if(this.nodes.has(t))return this.nodes.get(t);if(g)return(y=this.app.pageFragments.get(g))==null?void 0:y.getNode(t,{iteratorContainerId:i,iteratorIndex:r});if(Array.isArray(i)&&i.length&&Array.isArray(r)){let k=this.nodes.get(i[0]);for(let L=1,z=i.length;L{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$3(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 hr;let App$1=(hr=class extends eventsExports.EventEmitter{constructor(t){var i;super();Ci(this,"env");Ci(this,"dsl");Ci(this,"codeDsl");Ci(this,"dataSourceManager");Ci(this,"page");Ci(this,"pageFragments",new Map);Ci(this,"useMock",!1);Ci(this,"platform","mobile");Ci(this,"jsEngine","browser");Ci(this,"components",new Map);Ci(this,"pageFragmentContainerType",new Set(["page-fragment-container"]));Ci(this,"iteratorContainerType",new Set(["iterator-container"]));Ci(this,"request");Ci(this,"transformStyle");Ci(this,"eventHelper");Ci(this,"errorHandler");Ci(this,"nodeStoreInitialData");Ci(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){hr.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.pageFragments.forEach(z=>{z.destroy()}),this.pageFragments.clear(),this.setPage(g),this.dataSourceManager){const z=Array.from(this.dataSourceManager.dataSourceMap.values());(L=this.eventHelper)==null||L.bindDataSourceEvents(z)}}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);for(const[,g]of this.pageFragments)for(const[,y]of g.nodes)this.eventHelper.bindNodeEvents(y)}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){var r;return(r=this.page)==null?void 0:r.getNode(t,i)}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(z){if(this.errorHandler)this.errorHandler(z,void 0,{type:"run-code",codeId:t,params:i,eventParams:r,flowState:g});else throw z}}async runDataSourceMethod(t,i,r,g,y){var L;if(!t||!i)return;const k=(L=this.dataSourceManager)==null?void 0:L.get(t);if(k)try{const V=(k.methods||[]).find(j=>j.name===i);V&&typeof V.content=="function"?await V.content({app:this,params:r,dataSource:k,eventParams:g,flowState:y}):typeof k[i]=="function"&&await k[i]()}catch(z){if(this.errorHandler)this.errorHandler(z,k,{type:"data-source-method",params:r,eventParams:g,flowState:y});else throw z}}destroy(){var t,i,r,g;this.removeAllListeners(),(t=this.page)==null||t.destroy(),this.page=void 0,this.pageFragments.forEach(y=>{y.destroy()}),this.pageFragments.clear(),(i=this.flexible)==null||i.destroy(),this.flexible=void 0,(r=this.eventHelper)==null||r.destroy(),this.dsl=void 0,(g=this.dataSourceManager)==null||g.destroy(),this.dataSourceManager=void 0,this.codeDsl=void 0,this.components.clear(),this.nodeStoreInitialData=void 0}},Ci(hr,"nodeClassMap",new Map),hr);function prefixNames(n){for(var e=[],t=1;t=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$3(e)){var g=e[r];if(g){if(isFunction$3(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],z=k[1],V=checkBoundSize(n,t,!0,y),j=V[0],ie=V[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"u"?(++de,y.push(he)):re[pe]=de}),z.forEach(function(ue,he){var pe=V.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$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)}var __assign$c=function(){return __assign$c=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$2(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$1=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$c(__assign$c({},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$c(__assign$c({},this.state),this.$_state),i);y&&(t&&r.push(t),executeHooks(r),setCurrentInstance(null))},n}(),PureComponent=function(n){__extends$b(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$1);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$1(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$b(e,n);function e(i,r,g,y,k,L,z){z===void 0&&(z={});var V=n.call(this,i,r,g,y,k,L,fillProps(z,i.defaultProps))||this;return V.typ="comp",V._usefs=[],V._uefs=[],V._defs=[],V}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,z=L.t;L.ps=fillProps(L.ps,L.t.defaultProps);var V=L.ps,j=!L.b,ie=z.contextType,oe=L.b,re=ie==null?void 0:ie.get(L);L._cs=r,j?(oe=createComponent(z,V,re,L),L.b=oe):(oe.props=V,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$c(__assign$c({},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 z in g)t.removeAttribute(z)}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 z=i[L];g[z]=e[z]}),r.removed.forEach(function(L){var z=t[L];y[z]=n[z]}),r.maintained.forEach(function(L){var z=L[0],V=t[z],j=[n[V],e[V]];n[V]!==e[V]&&(k[V]=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 z=decamelize(L,"-");i.setProperty(z,g[L])}for(var L in k){var V=decamelize(L,"-");i.setProperty(V,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$b(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(z){var V,j;(j=(V=g.ps)[i])===null||j===void 0||j.call(V,z)},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,z=k.ps;if(L){var V=findContainerNode(k.c),j=!1;k._svg||k.t==="svg"?j=!0:j=V&&V.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(V);j?ie=re.createElementNS("http://www.w3.org/2000/svg",oe):ie=re.createElement(oe)}k.b=ie}renderProviders(k,k._ps,z.children,i,r);var ae=k.b,le=splitProps(g),de=le[0],ue=le[1],he=splitProps(z),pe=he[0],_e=he[1];return diffAttributes(de,pe,ae),diffEvents(ue,_e,k),diffStyle(g.style||{},z.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),z=L.preset,V=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 z&&(r.name=z.id,r.version=V,r.majorVersion=parseInt(V,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 z=findPresetBrand(WEBKIT_PRESETS,t);y.webkit=!!z.brand,y.webkitVersion=z.version||"-1"}var V=find(OS_PRESETS,function(ie){return new RegExp(""+ie.test,"g").exec(g)});k.name=V?V.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;y-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$a({listener:i},r))},n}();/*! ***************************************************************************** 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$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)i.hasOwnProperty(r)&&(t[r]=i[r])},extendStatics$9(n,e)};function __extends$9(n,e){extendStatics$9(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;iy-L?(j[1]>V.top||yj[1])&&(ie[1]=1),V.left>g-L?(j[0]>V.left||gj[0])&&(ie[0]=1),!ie[0]&&!ie[1]?!1:this._continueDrag(__assign$9(__assign$9({},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,z=L===void 0?0:L,V=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:V}),z&&j&&(clearTimeout(this._timer),this._timer=window.setTimeout(function(){r._continueDrag(i)},z)),!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,z=i.useScroll,V=i.isDrag,j=i.inputEvent;if(!(!this._flag||V&&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,V&&(this._isWait=!0),z||(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,z||this.checkScroll(__assign$9(__assign$9({},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(_e){return _e[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=[[z,y],[V,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(V){return getLinearConstants(V[0],V[1])}),k=g.map(function(V){return getLinearConstants(V[0],V[1])}),L=[];y.forEach(function(V,j){var ie=r[j],oe=[];k.forEach(function(re,ae){var le=getIntersectionPointsByConstants(V,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(V,j){if(isInside(V[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:V[1],type:"inside"}):L.splice(oe,0,{index1:-1,index2:j,pos:V[1],type:"inside"})}});var z={};return L.filter(function(V){var j=V.pos,ie=j[0]+"x"+j[1];return z[ie]?!1:(z[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$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)i.hasOwnProperty(r)&&(t[r]=i[r])},extendStatics$8(n,e)};function __extends$8(n,e){extendStatics$8(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$8=function(){return __assign$8=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,z=getAverageClient(e,i),V=z.clientX,j=z.clientY,ie=getAverageClient(t,i),oe=ie.clientX,re=ie.clientY,ae=g-V,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,_e=ae.checkInput,Ce=ae.dragFocusedInput,xe=ae.preventClickEventOnDragStart,Ie=ae.preventClickEventOnDrag,Ne=ae.preventClickEventByCondition,$e=r._useTouch,Oe=!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(Oe){var Fe=r._window.document.activeElement,Et=ie.target;if(Et){var ze=Et.tagName.toLowerCase(),qe=INPUT_TAGNAMES.indexOf(ze)>-1,Ve=Et.isContentEditable;if(qe||Ve){if(_e||!Ce&&Fe===Et)return!1;if(Fe&&(Fe===Et||Ve&&Fe.isContentEditable&&Fe.contains(Et)))if(Ce)Et.blur();else return!1}else if((pe||ie.type==="touchstart")&&Fe){var kt=Fe.tagName.toLowerCase();(Fe.isContentEditable||INPUT_TAGNAMES.indexOf(kt)>-1)&&Fe.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 Ue=r._preventMouseEvent||r.emit("dragStart",__assign$8(__assign$8({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}}));Ue===!1&&r.stop(),r._isMouseEvent&&r.flag&&pe&&ie.preventDefault()}if(!r.flag)return!1;var Dt=0;if(Oe?(r._attchDragEvent(),$e&&de&&(Dt=setTimeout(function(){addEvent(le,"touchstart",r.onDragStart,{passive:!1})}))):$e&&de&&removeEvent(le,"touchstart",r.onDragStart),r.flag&&isMultiTouch(ie)){if(clearTimeout(Dt),Oe&&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$8(__assign$8({},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):[],_e=pe.length;_e===0||!r.options.keepDragging?r.flag=!1:r._addStore(new ClientStore(pe));var Ce=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$8({data:r.data,datas:r.data,isDouble:Ie,isDrag:he,isClick:!he,isMouseEvent:r._isMouseEvent,isSecondaryButton:r._isSecondaryButton,inputEvent:ie,isTrusted:r._isTrusted},Ce)),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$8({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,z=k.events,V=k.checkWindowBlur;if(r._useDrag=z.indexOf("drag")>-1,r._useTouch=z.indexOf("touch")>-1,r._useMouse=z.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)),V&&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 z=L.clientX,V=L.clientY;return{clientX:z+r,clientY:V+g,originalClientX:z,originalClientY:V}}),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$8(__assign$8({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$8(__assign$8({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$8(__assign$8({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$8(__assign$8({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$8(__assign$8({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(z,V){var j=V.getPosition();return z.distX+=j.distX,z.distY+=j.distY,z},g),k=y.distX,L=y.distY;return __assign$8(__assign$8({},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);function hash(n){for(var e=5381,t=n.length;t;)e=e*33^n.charCodeAt(--t);return e>>>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 __assign$7=function(){return __assign$7=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$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 __spreadArray$3(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$1="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:{},z=L.originalDatas||L.datas,V=z[g]||(z[g]={});return __assign$6(__assign$6({},L),{isPinch:!!i,parentEvent:!0,datas:V,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$6(__assign$6({},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$1(y,4),L=__read$1(k[0],2),z=L[0],V=L[1],j=__read$1(k[1],2),ie=j[0],oe=j[1],re=__read$1(k[2],2),ae=re[0],le=re[1],de=__read$1(k[3],2),ue=de[0],he=de[1],pe=__read$1(calculatePosition(n,e,g),2),_e=pe[0],Ce=pe[1],xe=Math.min(z,ie,ae,ue),Ie=Math.min(V,oe,le,he),Ne=Math.max(z,ie,ae,ue),$e=Math.max(V,oe,le,he);z=z-xe||0,ie=ie-xe||0,ae=ae-xe||0,ue=ue-xe||0,V=V-Ie||0,oe=oe-Ie||0,le=le-Ie||0,he=he-Ie||0,_e=_e-xe||0,Ce=Ce-Ie||0;var Oe=n[0],Fe=n[g+1],Et=sign(Oe*Fe);return{left:xe,top:Ie,right:Ne,bottom:$e,origin:[_e,Ce],pos1:[z,V],pos2:[ie,oe],pos3:[ae,le],pos4:[ue,he],direction:Et}}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,z=g.pos1,V=y.left,j=y.top,ie=L?4:3,oe=__read$1(minus(calculateInversePosition(k,[t-V,i-j],ie),z),2),re=oe[0],ae=oe[1],le=__read$1(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,z=i.origin,V=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=V,t.transformOrigin=ie,t.inverseMatrix=invert(r,oe),t.inverseBeforeMatrix=invert(g,oe),t.absoluteOrigin=convertPositionMatrix(plus([k,L],z),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,z=-1;g===-1?(t==="translate"?z=0:t==="rotate"&&(z=findIndex(y,function(oe){return oe.match(/scale\(/g)})),z===-1&&(z=y.length),i.transformIndex=z):find$1(L,function(oe){return oe.index===g&&oe.functionName===t})?z=g:z=g+L.filter(function(oe){return oe.indexz&&(i.isAppendTransform=!0,r.nextTransformAppendedIndexes=__spreadArray$3(__spreadArray$3([],__read$1(L),!1),[{functionName:t,index:z,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$1(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),z=multiply(invert(t?g:i,4),L,4),V=multiply(z,invert(t?y:r,4),4);return V}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,z=t.startDragDist,V=t.absoluteOrigin,j=k?4:3;return minus(calculate(e?g:y,plus(V,[i,r]),j),e?L:z)}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,z=y?4:3;return minus(calculate(g,plus(k,[i,r]),z),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),z=L.value,V=L.unit,j=k?r:i,ie=k?t:e;if(y==="%"||isNaN(z)){var oe=j?g[k]/j:0;return ie*oe}else if(V!=="%")return z;return ie*z/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],z=n[1]-k[1];return[L,z]}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$2(t)){var z=e.beforeTransform,V=e.afterTransform;i?L=convertDimension(parseMat(t),4,k):L=convertDimension(multiply(multiply(z,parseMat([t]),4),V,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$2(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$6(__assign$6({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,z=L.left,V=L.top,j=n.props.groupable,ie=j?z:0,oe=j?V: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,z=[g/2*(1+e[0])+t[0],y/2*(1+e[1])+t[1]];return calculatePosition(i,z,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,z=k.offsetMatrix,V=k.is3d,j=k.width,ie=k.height,oe=k.left,re=k.top,ae=g.fixedDirection,le=g.nextTargetMatrix||k.targetMatrix,de=V?4:3,ue=calculateTransformOrigin(r,e,t,j,ie,L),he=y?oe:0,pe=y?re:0,_e=getNextMatrix(z,le,ue,de),Ce=getDist(i,_e,e,t,de,ae);return minus(Ce,[he,pe])}function getAbsolutePosition$1(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,z=3,V,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),_e=convertCSStoMatrix(getTransformMatrix(ue)),Ce=void 0,xe=!1,Ie=!1,Ne=0,$e=0,Oe=0,Fe=0,Et={hasTransform:!1,fixedContainer:null};he&&(oe=!0,Et=getPositionFixedInfo(i),re=Et.fixedContainer);var ze=_e.length;!L&&(ze===16||pe.length)&&(L=!0,z=4,convert3DMatrixes(r),ie&&(ie=convertDimension(ie,3,4))),L&&ze===9&&(_e=convertDimension(_e,3,4));var qe=getOffsetPosInfo(i,n),Ve=qe.tagName,kt=qe.hasOffset,Ue=qe.isSVG,Dt=qe.origin,jt=qe.targetOrigin,ei=qe.offset,ti=__read$1(ei,2),hi=ti[0],ui=ti[1];Ve==="svg"&&!i.ownerSVGElement&&ie&&(r.push({type:"target",target:i,matrix:getSVGMatrix(i,z)}),r.push({type:"offset",target:i,matrix:createIdentityMatrix(z)}));var mi=parseFloat(le("zoom"))||1;if(he)Ce=Et.fixedContainer,xe=!0;else{var pi=getOffsetInfo(i,e,!1,!0,le),ri=pi.offsetZoom;if(Ce=pi.offsetParent,xe=pi.isEnd,Ie=pi.isStatic,ae*=ri,(pi.isCustomElement||ri!==1)&&Ie)hi-=Ce.offsetLeft,ui-=Ce.offsetTop;else if(IS_FIREFOX||IS_CHROMIUM109){var oi=pi.parentSlotElement;if(oi){for(var bi=Ce,Ti=0,Si=0;bi&&getShadowRoot(bi);)Ti+=bi.offsetLeft,Si+=bi.offsetTop,bi=bi.offsetParent;hi-=Ti,ui-=Si}}}if(IS_WEBKIT&&!IS_SAFARI_ABOVE15&&kt&&!Ue&&Ie&&(de==="relative"||de==="static")&&(hi-=Ce.offsetLeft,ui-=Ce.offsetTop,y=y||xe),he)kt&&Et.hasTransform&&(Oe=Ce.clientLeft,Fe=Ce.clientTop);else if(kt&&re!==Ce&&(Ne=Ce.clientLeft,$e=Ce.clientTop),kt&&Ce===g){var ni=getBodyOffset(i,!1);hi+=ni[0],ui+=ni[1]}if(r.push({type:"target",target:i,matrix:getAbsoluteMatrix(_e,z,Dt)}),pe.length&&(r.push({type:"offset",target:i,matrix:createIdentityMatrix(z)}),r.push({type:"target",target:i,matrix:getAbsoluteMatrix(parseMat(pe),z,Dt)})),kt){var fi=i===n,si=fi?0:i.scrollLeft,_i=fi?0:i.scrollTop;r.push({type:"offset",target:i,matrix:createOriginMatrix([hi-si+Ne-Oe,ui-_i+$e-Fe],z)})}else r.push({type:"offset",target:i,origin:Dt});if(mi!==1&&r.push({type:"zoom",target:i,matrix:getAbsoluteMatrix(createScaleMatrix([mi,mi],z),z,[0,0])}),ie||(ie=_e),V||(V=Dt),j||(j=jt),k||he)break;i=Ce,y=xe,(!t||i===g)&&(k=y)}return ie||(ie=createIdentityMatrix(z)),V||(V=[0,0]),j||(j=[0,0]),{zoom:ae,offsetContainer:re,matrixes:r,targetMatrix:ie,transformOrigin:V,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$6(__assign$6({},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),z=r.isPinch,V=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]=V.childGestos[le]),!he[y])return;pe=setCustomDrag(ae,ue,i,z,g,y),oe.push(pe)}var _e=e[t](de,__assign$6(__assign$6({},pe),{parentFlag:!0}));return L&&(he[y]=null),_e});return k&&(V.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(V,j){return j});var y=!!t.match(/End$/g),k=fillChildEvents(n,e.name,i),L=n.moveables,z=k.map(function(V,j){var ie=L[j],oe=V;oe=r(ie,V);var re=e[t](ie,__assign$6(__assign$6({},oe),{parentFlag:!0}));return y&&(ie.state.gestos={}),re});return z}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$1(calculate(createRotateMatrix(-n.rotation/180*Math.PI,3),[k[0]-g[0],k[1]-g[1],1],3),2),z=L[0],V=L[1];return i.datas.originalX=z,i.datas.originalY=V,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,z=absDegree(y/Math.PI*180),V={},j=n.renderState;j.renderDirectionMap||(j.renderDirectionMap={});var ie=j.renderDirectionMap;t.forEach(function(re){var ae=re.dir;V[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||!V[de])return null;ie[de]=!0;var he=(throttle(z,15)+oe*DIRECTION_ROTATIONS[de]+720)%180,pe={};return getKeys(ae).forEach(function(_e){pe["data-".concat(_e)]=ae[_e]}),i.createElement("div",__assign$6({className:prefix$1.apply(void 0,__spreadArray$3(["control","direction",de,e],__read$1(le),!1)),"data-rotation":he,"data-direction":de},pe,{key:"direction-".concat(de),style:getControlTransform.apply(void 0,__spreadArray$3([y,L],__read$1(ue.map(function(_e){return g[_e]})),!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$3(__spreadArray$3([],__read$1(k?renderAroundControls(n,i,t,L):[]),!1),__read$1(renderDirectionControlsByInfos(n,t,L.map(function(z){return{data:{},classNames:[],dir:z}}),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?kV&&(de.pos=g,de.offset=V-g);else if(oe===0)ae?yz&&(le.pos=r,le.offset=z-r);else{var ue=oe/ie,he=t[1]-ue*z,pe=0,_e=0,Ce=!1;ae&&y<=z?(pe=ue*y+he,_e=y,Ce=!0):!ae&&z<=r&&(pe=ue*r+he,_e=r,Ce=!0),Ce&&(pek)&&(Ce=!1),Ce||(re&&k<=V?(pe=k,_e=(pe-he)/ue,Ce=!0):!re&&V<=g&&(pe=g,_e=(pe-he)/ue,Ce=!0)),Ce&&(le.isBound=!0,le.pos=_e,le.offset=z-_e,de.isBound=!0,de.pos=pe,de.offset=V-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$3([],__read$1(e),!1)),y=Math.max.apply(Math,__spreadArray$3([],__read$1(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,z=y.right,V=y.bottom,j=k-i[0],ie=z-i[0],oe=L-i[1],re=V-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$1(de,2),he=ue[0],pe=ue[1];t.forEach(function(_e){var Ce=getRad$1([0,0],_e);le.push.apply(le,__spreadArray$3([],__read$1(boundRotate(_e,he,pe).map(function(xe){return g+xe-Ce}).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,z=t.snapGridHeight,V=n.state,j=V.guidelines,ie=V.enableSnap;return!i||!ie||e&&i!==!0&&i.indexOf(e)<0?!1:!!(L||z||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$1(n,2),t=e[0],i=e[1],r=i[0]-t[0],g=i[1]-t[1];Math.abs(r)0,oe=V>0;V=getTinyDist(V),j=getTinyDist(j);var re={isSnap:!1,offset:0,pos:0},ae={isSnap:!1,offset:0,pos:0};if(V===0&&j===0)return{vertical:re,horizontal:ae};var le=checkMoveableSnapPoses(n,V?[r]:[],j?[g]:[],[],[],void 0,void 0),de=le.vertical,ue=le.horizontal;de.posInfos.filter(function(Ve){var kt=Ve.pos;return oe?kt>=k:kt<=k}),ue.posInfos.filter(function(Ve){var kt=Ve.pos;return ie?kt>=L:kt<=L}),de.isSnap=de.posInfos.length>0,ue.isSnap=ue.posInfos.length>0;var he=getNearestSnapGuidelineInfo(de),pe=he.isSnap,_e=he.guideline,Ce=getNearestSnapGuidelineInfo(ue),xe=Ce.isSnap,Ie=Ce.guideline,Ne=xe?Ie.pos[1]:0,$e=pe?_e.pos[0]:0;if(V===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=$e,re.offset=r-$e);else{var Oe=j/V,Fe=t[1]-Oe*r,Et=0,ze=0,qe=!1;pe?(ze=$e,Et=Oe*ze+Fe,qe=!0):xe&&(Et=Ne,ze=(Et-Fe)/Oe,qe=!0),qe&&(re.isSnap=!0,re.pos=ze,re.offset=r-ze,ae.isSnap=!0,ae.pos=Et,ae.offset=g-Et)}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$6(__assign$6({},g.vertical),{direction:k}),horizontal:__assign$6(__assign$6({},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,z=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}),V=z.length>0;return{isSnap:V,index:V?z[0].index:-1,direction:(y=(g=z[0])===null||g===void 0?void 0:g.direction)!==null&&y!==void 0?y:"",posInfos:z}}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$3([],__read$1(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]}),z=checkMoveableSnapPoses(n,k,L,g.map(function(ie){return getStringDirection(ie[0])}),g.map(function(ie){return getStringDirection(ie[1])}),i,r),V=getStringDirection(g.map(function(ie){return ie[0]})[z.vertical.index]),j=getStringDirection(g.map(function(ie){return ie[1]})[z.horizontal.index]);return{vertical:__assign$6(__assign$6({},z.vertical),{direction:V}),horizontal:__assign$6(__assign$6({},z.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,V=__read$1(getDragDist({datas:r,distX:g[0],distY:g[1]}),2),j=V[0],ie=V[1];return{offset:[j,ie],isOutside:z}}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$1(e,2),y=g[0],k=g[1],L=__read$1(t,2),z=L[0],V=L[1],j=__read$1(i,2),ie=j[0],oe=j[1],re=__read$1(r,2),ae=re[0],le=re[1],de=-ae,ue=-le;if(n&&y&&k){de=0,ue=0;var he=[];if(z&&V?he.push([0,le],[ae,0]):z?he.push([ae,0]):V?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 _e=k;ue=-pe[1],de=y*abs(k+ue)/abs(_e)-y}if(n&&V&&z)if(abs(de)>TINY_NUM$1&&abs(de)TINY_NUM$1&&abs(ue)177,ae=oe>87&&oe<93;return ie0&&(j||ie)){var $e=de.startDragRotate||0,Oe=throttle($e+getRad$1([0,0],[j,ie])*180/Math.PI,pe)-$e,Fe=ie*Math.abs(Math.cos((Oe-90)/180*Math.PI)),Et=j*Math.abs(Math.cos(Oe/180*Math.PI)),ze=getDistSize([Et,Fe]);_e=Oe*Math.PI/180,j=ze*Math.cos(_e),ie=ze*Math.sin(_e)}if(!g&&!i&&!r){var qe=__read$1(checkSnapBoundsDrag(n,j,ie,pe,!k&&L||y,t),2),Ve=qe[0],kt=qe[1];Ce=Ve.isSnap,xe=Ve.isBound,Ie=kt.isSnap,Ne=kt.isBound;var Ue=Ve.offset,Dt=kt.offset;j+=Ue,ie+=Dt}var jt=plus(getBeforeDragDist({datas:t,distX:j,distY:ie}),le),ei=plus(getTransformDist({datas:t,distX:j,distY:ie}),le);throttleArray(ei,TINY_NUM),throttleArray(jt,TINY_NUM),pe||(!Ce&&!xe&&(ei[0]=throttle(ei[0],he),jt[0]=throttle(jt[0],he)),!Ie&&!Ne&&(ei[1]=throttle(ei[1],he),jt[1]=throttle(jt[1],he)));var ti=minus(jt,le),hi=minus(ei,le),ui=minus(hi,re),mi=minus(ti,ae);t.prevDist=hi,t.prevBeforeDist=ti,t.passDelta=ui,t.passDist=hi;var pi=t.left+ti[0],ri=t.top+ti[1],oi=t.right-ti[0],bi=t.bottom-ti[1],Ti=convertTransformFormat(t,"translate(".concat(ei[0],"px, ").concat(ei[1],"px)"),"translate(".concat(hi[0],"px, ").concat(hi[1],"px)"));if(fillOriginalTransform(e,Ti),n.state.dragInfo.dist=i?[0,0]:hi,!(!i&&!ue&&ui.every(function(_i){return!_i})&&mi.some(function(_i){return!_i}))){var Si=n.state,ni=Si.width,fi=Si.height,si=fillParams(n,e,__assign$6({transform:Ti,dist:hi,delta:ui,translate:ei,beforeDist:ti,beforeDelta:mi,beforeTranslate:jt,left:pi,top:ri,right:oi,bottom:bi,width:ni,height:fi,isPinch:g},fillCSSObject({transform:Ti},e)));return!i&&triggerEvent(n,"onDrag",si),si}}}},dragAfter:function(n,e){var t=e.datas,i=t.deltaOffset;return i[0]||i[1]?(t.deltaOffset=[0,0],this.drag(n,__assign$6(__assign$6({},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"),z=L.childEvents,V=L.eventParams,j=__assign$6(__assign$6({},k),{targets:n.props.targets,events:V}),ie=triggerEvent(n,"onDragGroupStart",j);r.isDrag=ie!==!1;var oe=(i=(t=z[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$6(__assign$6({},e),{parentThrottleDrag:n.props.throttleDrag})),r=e.datas.passDelta,g=triggerChildGesto(n,this,"drag",r,e,!1,"draggable").eventParams;if(i){var y=__assign$6({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),z=[0,0];return{fixedPosition:L,fixedDirection:e,fixedOffset:z}}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),z=[r?0:e[0],g?0:e[1]];return{fixedPosition:L,fixedDirection:k,fixedOffset:z}}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,z=e.parentFixedDirection,V=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$2(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 $e=getFixedDirectionInfo(L.startPositions,Ne);L.fixedDirection=$e.fixedDirection,L.fixedPosition=$e.fixedPosition,L.fixedOffset=$e.fixedOffset}function pe(Ne){var $e=getOffsetFixedPositionInfo(n.state,Ne);L.fixedDirection=$e.fixedDirection,L.fixedPosition=$e.fixedPosition,L.fixedOffset=$e.fixedOffset}function _e(Ne){L.minSize=[convertUnitSize("".concat(Ne[0]),0)||0,convertUnitSize("".concat(Ne[1]),0)||0]}function Ce(Ne){var $e=[Ne[0]||1/0,Ne[1]||1/0];(!isNumber$1($e[0])||isFinite($e[0]))&&($e[0]=convertUnitSize("".concat($e[0]),0)||1/0),(!isNumber$1($e[1])||isFinite($e[1]))&&($e[1]=convertUnitSize("".concat($e[1]),0)||1/0),L.maxSize=$e}ue(re/ae),he(z||[-j[0],-j[1]]),L.setFixedDirection=he,L.setFixedPosition=pe,L.setMin=_e,L.setMax=Ce;var xe=fillParams(n,e,{direction:j,startRatio:L.ratio,set:function(Ne){var $e=__read$1(Ne,2),Oe=$e[0],Fe=$e[1];L.startWidth=Oe,L.startHeight=Fe},setMin:_e,setMax:Ce,setRatio:ue,setFixedDirection:he,setFixedPosition:pe,setOrigin:function(Ne){L.transformOrigin=Ne},dragStart:Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))}),Ie=V||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,z=e.useSnap,V=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,_e=i.maxSize,Ce=i.ratio,xe=i.startOffsetWidth,Ie=i.startOffsetHeight,Ne=i.isWidth;if(!re)return;if(oe){var $e=n.state.is3d,Oe=i.startOffsetMatrix,Fe=i.startTransformOrigin,Et=$e?4:3,ze=parseMat(getNextTransforms(e)),qe=Math.sqrt(ze.length);Et!==qe&&(ze=convertDimension(ze,qe,Et));var Ve=getNextMatrix(Oe,ze,Fe,Et),kt=calculatePoses(Ve,xe,Ie,Et);i.startPositions=kt,i.nextTargetMatrix=ze,i.nextAllMatrix=Ve}var Ue=getProps(n.props,"resizable"),Dt=Ue.resizeFormat,jt=Ue.throttleResize,ei=jt===void 0?r?0:1:jt,ti=Ue.parentMoveable,hi=Ue.keepRatioFinally,ui=i.direction,mi=ui,pi=0,ri=0;!ui[0]&&!ui[1]&&(mi=[1,1]);var oi=Ce&&(y!=null?y:Ue.keepRatio)||!1;function bi(){var xi=i.fixedDirection,Ai=getOffsetSizeDist(mi,oi,i,e);pi=Ai.distWidth,ri=Ai.distHeight;var Vi=mi[0]-xi[0]||oi?Math.max(xe+pi,TINY_NUM):xe,Hi=mi[1]-xi[1]||oi?Math.max(Ie+ri,TINY_NUM):Ie;return oi&&xe&&Ie&&(Ne?Hi=Vi/Ce:Vi=Hi*Ce),[Vi,Hi]}var Ti=__read$1(bi(),2),Si=Ti[0],ni=Ti[1];ie||(i.setFixedDirection(i.fixedDirection),triggerEvent(n,"onBeforeResize",fillParams(n,e,{startFixedDirection:i.startFixedDirection,startFixedPosition:i.startFixedPosition,setFixedDirection:function(xi){var Ai;return i.setFixedDirection(xi),Ai=__read$1(bi(),2),Si=Ai[0],ni=Ai[1],[Si,ni]},setFixedPosition:function(xi){var Ai;return i.setFixedPosition(xi),Ai=__read$1(bi(),2),Si=Ai[0],ni=Ai[1],[Si,ni]},boundingWidth:Si,boundingHeight:ni,setSize:function(xi){var Ai;Ai=__read$1(xi,2),Si=Ai[0],ni=Ai[1]}},!0)));var fi=k;k||(!r&&g?fi=getAbsolutePosition$1(n,[0,0]):fi=i.fixedPosition);var si=[0,0];g||(si=checkSnapResize(n,Si,ni,ui,fi,!z&&V,i)),L&&(!L[0]&&(si[0]=0),!L[1]&&(si[1]=0));function _i(){var xi;Dt&&(xi=__read$1(Dt([Si,ni]),2),Si=xi[0],ni=xi[1]),Si=throttle(Si,ei),ni=throttle(ni,ei)}if(oi){mi[0]&&mi[1]&&si[0]&&si[1]&&(abs(si[0])>abs(si[1])?si[1]=0:si[0]=0);var Pt=!si[0]&&!si[1];Pt&&_i(),mi[0]&&!mi[1]||si[0]&&!si[1]||Pt&&Ne?(Si+=si[0],ni=Si/Ce):(!mi[0]&&mi[1]||!si[0]&&si[1]||Pt&&!Ne)&&(ni+=si[1],Si=ni*Ce)}else Si+=si[0],ni+=si[1],Si=Math.max(0,Si),ni=Math.max(0,ni);t=__read$1(calculateBoundSize([Si,ni],pe,_e,oi?Ce:!1),2),Si=t[0],ni=t[1],_i(),oi&&(j||hi)&&(Ne?ni=Si/Ce:Si=ni*Ce),pi=Si-xe,ri=ni-Ie;var Lt=[pi-ue,ri-he];i.prevWidth=pi,i.prevHeight=ri;var At=getResizeDist(n,Si,ni,fi,ae,i);if(!(!ti&&Lt.every(function(xi){return!xi})&&At.every(function(xi){return!xi}))){var ii=Draggable.drag(n,setCustomDrag(e,n.state,At,!!g,!1,"draggable")),gi=ii.transform,yi=le+pi,Li=de+ri,Pi=fillParams(n,e,__assign$6({width:yi,height:Li,offsetWidth:Math.round(Si),offsetHeight:Math.round(ni),startRatio:Ce,boundingWidth:Si,boundingHeight:ni,direction:ui,dist:[pi,ri],delta:Lt,isPinch:!!g,drag:ii},fillAfterTransform({style:{width:"".concat(yi,"px"),height:"".concat(Li,"px")},transform:gi},ii,e)));return!ie&&triggerEvent(n,"onResize",Pi),Pi}},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,z=L.width,V=L.height,j=z-(r+y),ie=V-(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$6(__assign$6({},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 z=triggerChildAbles(n,this,"dragControlStart",e,function(oe,re){return startChildDist(n,oe,t,re)});k(),L();var V=function(oe){i.setFixedDirection(oe),z.forEach(function(re,ae){re.setFixedDirection(oe),startChildDist(n,re.moveable,t,r[ae])})};t.setFixedDirection=V;var j=__assign$6(__assign$6({},i),{targets:n.props.targets,events:z.map(function(oe){return __assign$6(__assign$6({},oe),{setMin:function(re){oe.setMin(re),k()},setMax:function(re){oe.setMax(re),L()}})}),setFixedDirection:V,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$6(__assign$6({},oe),{targets:i.targets}),!0))});var r=this.dragControl(n,__assign$6(__assign$6({},e),{isGroup:!0}));if(r){var g=r.boundingWidth,y=r.boundingHeight,k=r.dist,L=i.keepRatio,z=[g/(g-k[0]),y/(y-k[1])],V=t.fixedPosition,j=triggerChildAbles(n,this,"dragControl",e,function(oe,re){var ae=__read$1(calculate(createRotateMatrix(n.rotation/180*Math.PI,3),[re.datas.originalX*z[0],re.datas.originalY*z[1],1],3),2),le=ae[0],de=ae[1];return __assign$6(__assign$6({},re),{parentDist:null,parentScale:z,dragClient:plus(V,[le,de]),parentKeepRatio:L})}),ie=__assign$6({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,z=calculatePosition(n.state.rootMatrix,minus([L[0],L[1]],g?[0,0]:[y.left,y.top]),k),V=plus([r.left,r.top],z);e.startAbsoluteOrigin=V,e.prevDeg=getRad$1(V,[t,i])/Math.PI*180,e.defaultDeg=e.prevDeg,e.prevSnapDeg=0,e.loop=0,e.startDist=getDist$2(V,[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,z=0,V=!1;if(g){var j=checkSnapRotate(n,e,i,r+i);V=j.isSnap,z=r+j.dist}V||(z=throttle(r+i,k));var ie=z-r;return t.prevSnapDeg=ie,[ie-L,ie,z]}function getRotationPositions(n,e,t){var i=__read$1(e,4),r=i[0],g=i[1],y=i[2],k=i[3];if(n==="none")return[];if(isArray$2(n))return n.map(function(le){return getRotationPositions(le,[r,g,y,k],t)[0]});var L=__read$1((n||"top").split("-"),2),z=L[0],V=L[1],j=[r,g];z==="left"?j=[y,r]:z==="right"?j=[g,k]:z==="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(V){var re=V==="top"||V==="left",ae=z==="bottom"||z==="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,z=n.getState(),V=z.renderPoses,j=z.direction;if(!i)return null;var ie=getRotationPositions(r,V,j),oe=[];if(ie.forEach(function(de,ue){var he=__read$1(de,2),pe=he[0],_e=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(_e,"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$2(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$3([],__read$1(renderDirectionControlsByInfos(n,"rotatable",le,e)),!1))}return k&&oe.push.apply(oe,__spreadArray$3([],__read$1(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,z=e.isPinch,V=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,_e=j.allMatrix,Ce=j.width,xe=j.height;if(!V&&!ie)return!1;var Ie=n.getRect();r.rect=Ie,r.transform=de,r.left=oe,r.top=re;var Ne=function(mi){var pi=getOffsetFixedPositionInfo(n.state,mi);r.fixedDirection=pi.fixedDirection,r.fixedOffset=pi.fixedOffset,r.fixedPosition=pi.fixedPosition,ei&&ei.setFixedPosition(mi)},$e=function(mi){var pi=getOffsetFixedDirectionInfo(n.state,mi);r.fixedDirection=pi.fixedDirection,r.fixedOffset=pi.fixedOffset,r.fixedPosition=pi.fixedPosition,ei&&ei.setFixedDirection(mi)},Oe=g,Fe=y;if(V||z||L){var Et=k||0;r.beforeInfo={origin:Ie.beforeOrigin,prevDeg:Et,defaultDeg:Et,prevSnapDeg:0,startDist:0},r.afterInfo=__assign$6(__assign$6({},r.beforeInfo),{origin:Ie.origin}),r.absoluteInfo=__assign$6(__assign$6({},r.beforeInfo),{origin:Ie.origin,startValue:Et})}else{var ze=(i=e.inputEvent)===null||i===void 0?void 0:i.target;if(ze){var qe=ze.getAttribute("data-direction")||"",Ve=DIRECTION_REGION_TO_DIRECTION[qe];if(Ve){r.isControl=!0,r.isAroundControl=hasClass$1(ze,prefix$1("around-control")),r.controlDirection=Ve;var kt=ze.getAttribute("data-resolve");kt&&(r.resolveAble=kt);var Ue=calculateMoveableClientPositions(j.rootMatrix,j.renderPoses,ue);t=__read$1(getPosByDirection(Ue,Ve),2),Oe=t[0],Fe=t[1]}}r.beforeInfo={origin:Ie.beforeOrigin},r.afterInfo={origin:Ie.origin},r.absoluteInfo={origin:Ie.origin,startValue:Ie.rotation};var Dt=Ne;Ne=function(mi){var pi=j.is3d?4:3,ri=__read$1(plus(getOrigin(pe,pi),mi),2),oi=ri[0],bi=ri[1],Ti=calculate(he,convertPositionMatrix([oi,bi],pi)),Si=calculate(_e,convertPositionMatrix([mi[0],mi[1]],pi));Dt(mi);var ni=j.posDelta;r.beforeInfo.origin=minus(Ti,ni),r.afterInfo.origin=minus(Si,ni),r.absoluteInfo.origin=minus(Si,ni),setRotateStartInfo(n,r.beforeInfo,Oe,Fe,ue),setRotateStartInfo(n,r.afterInfo,Oe,Fe,ue),setRotateStartInfo(n,r.absoluteInfo,Oe,Fe,ue)},$e=function(mi){var pi=getPosByDirection([[0,0],[Ce,0],[0,xe],[Ce,xe]],mi);Ne(pi)}}r.startClientX=Oe,r.startClientY=Fe,r.direction=ae,r.beforeDirection=le,r.startValue=0,r.datas={},setDefaultTransformIndex(n,e,"rotate");var jt=!1,ei=!1;if(r.isControl&&r.resolveAble){var ti=r.resolveAble;ti==="resizable"&&(ei=Resizable.dragControlStart(n,__assign$6(__assign$6({},new CustomGesto("resizable").dragStart([0,0],e)),{parentPosition:r.controlPosition,parentFixedPosition:r.fixedPosition})))}ei||(jt=Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))),Ne(getTotalOrigin(n));var hi=fillParams(n,e,__assign$6(__assign$6({set:function(mi){r.startValue=mi*Math.PI/180},setFixedDirection:$e,setFixedPosition:Ne},fillTransformStartEvent(n,e)),{dragStart:jt,resizeStart:ei})),ui=triggerEvent(n,"onRotateStart",hi);return r.isRotate=ui!==!1,j.snapRenderInfo={request:e.isRequest},r.isRotate?hi:!1},dragControl:function(n,e){var t,i,r,g=e.datas,y=e.clientDistX,k=e.clientDistY,L=e.parentRotate,z=e.parentFlag,V=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,_e=g.startClientY;if(de){resolveTransformEvent(n,e,"rotate");var Ce=getTransformDirection(e),xe=oe*Ce,Ie=n.props.parentMoveable,Ne=0,$e,Oe,Fe=0,Et,ze,qe=0,Ve,kt,Ue=180/Math.PI*ue,Dt=le.startValue,jt=!1,ei=pe+y,ti=_e+k;if(!z&&"parentDist"in e){var hi=e.parentDist;$e=hi,Et=hi,Ve=hi}else V||z?($e=getAbsoluteDist(L,oe,re),Et=getAbsoluteDist(L,xe,ae),Ve=getAbsoluteDist(L,xe,le)):($e=getAbsoluteDistByClient(ei,ti,oe,re),Et=getAbsoluteDistByClient(ei,ti,xe,ae),Ve=getAbsoluteDistByClient(ei,ti,xe,le),jt=!0);if(Oe=Ue+$e,ze=Ue+Et,kt=Dt+Ve,triggerEvent(n,"onBeforeRotate",fillParams(n,e,{beforeRotation:Oe,rotation:ze,absoluteRotation:kt,setRotation:function(fi){Et=fi-Ue,$e=Et,Ve=Et}},!0)),t=__read$1(getRotateInfo(n,he,re,$e,Ue,jt),3),Ne=t[0],$e=t[1],Oe=t[2],i=__read$1(getRotateInfo(n,he,ae,Et,Ue,jt),3),Fe=i[0],Et=i[1],ze=i[2],r=__read$1(getRotateInfo(n,he,le,Ve,Dt,jt),3),qe=r[0],Ve=r[1],kt=r[2],!(!qe&&!Fe&&!Ne&&!Ie&&!ie)){var ui=convertTransformFormat(g,"rotate(".concat(ze,"deg)"),"rotate(".concat(Et,"deg)"));ie&&(g.fixedPosition=getTranslateFixedPosition(n,g.targetAllTransform,g.fixedDirection,g.fixedOffset,g));var mi=getRotateDist(n,Et,g),pi=minus(plus(j||[0,0],mi),g.prevInverseDist||[0,0]);g.prevInverseDist=mi,g.requestValue=null;var ri=fillTransformEvent(n,ui,pi,V,e),oi=ri,bi=getDist$2([ei,ti],le.startAbsoluteOrigin)-le.startDist,Ti=void 0;if(g.resolveAble==="resizable"){var Si=Resizable.dragControl(n,__assign$6(__assign$6({},setCustomDrag(e,n.state,[e.deltaX,e.deltaY],!!V,!1,"resizable")),{resolveMatrix:!0,parentDistance:bi}));Si&&(Ti=Si,oi=fillAfterTransform(oi,Si,e))}var ni=fillParams(n,e,__assign$6(__assign$6({delta:Fe,dist:Et,rotate:ze,rotation:ze,beforeDist:$e,beforeDelta:Ne,beforeRotate:Oe,beforeRotation:Oe,absoluteDist:Ve,absoluteDelta:qe,absoluteRotate:kt,absoluteRotation:kt,isPinch:!!V,resize:Ti},ri),oi));return triggerEvent(n,"onRotate",ni),ni}}},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$6(__assign$6({},ie),{parentRotate:0})}),z=__assign$6(__assign$6({},k),{targets:n.props.targets,events:L}),V=triggerEvent(n,"onRotateGroupStart",z);return t.isRotate=V!==!1,t.isRotate?k:!1},dragGroupControl:function(n,e){var t=e.datas;if(t.isRotate){catchEvent(n,"onBeforeRotate",function(z){triggerEvent(n,"onBeforeRotateGroup",fillParams(n,e,__assign$6(__assign$6({},z),{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(z,V){var j=V.datas.startGroupClient,ie=__read$1(V.datas.groupClient,2),oe=ie[0],re=ie[1],ae=__read$1(rotate(j,y*r),2),le=ae[0],de=ae[1],ue=[le-oe,de-re];return V.datas.groupClient=[le,de],__assign$6(__assign$6({},V),{parentRotate:g,groupDelta:ue})});n.rotation=r*i.beforeRotation;var L=__assign$6({targets:n.props.targets,events:k,set:function(z){n.rotation=z},setGroupRotation:function(z){n.rotation=z}},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,z=i==="horizontal",V=z?"Y":"X";return e.createElement("div",{key:L,className:r.join(" "),style:(t={},t[z?"width":"height"]="".concat(g),t.transform="translate(".concat(y[0],", ").concat(y[1],") translate").concat(V,"(-50%) scale").concat(V,"(").concat(k,")"),t)})}function renderInnerGuideline(n,e){return renderGuideline(__assign$6(__assign$6({},n),{classNames:__spreadArray$3([prefix$1("line","guideline",n.direction)],__read$1(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(z,V){var j=z.type,ie=z.pos,oe=[0,0];return oe[y]=i,oe[y?0:1]=-r+ie,renderInnerGuideline({key:"".concat(e,"TargetGuideline").concat(V),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,z=e==="horizontal"?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,V=r[z.start],j=r[z.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[z.start]<=V&&j<=ae[z.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,z=n.props,V=z.snapDigit,j=V===void 0?0:V,ie=z.isDisplaySnapDigit,oe=ie===void 0?!0:ie,re=z.snapDistFormat,ae=re===void 0?function(_e,Ce){return _e}:re,le=z.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(z){return z.pos[r]}).map(function(z){var V=[],j=[],ie=[];return z.forEach(function(oe){var re,ae,le=oe.element,de=oe.elementRect.rect;if(de[y.end]0){var $e=[0,0];$e[z]=t[z]+Ce[ie.start]-re-Ne,$e[V]=_e,y.push(renderDigitLine(n,k,"dashed",y.length,Ne,$e,xe.className,r))}Ce=Ie}),Ce=i,he.forEach(function(xe){var Ie=xe.elementRect.rect,Ne=Ie[ie.start]-Ce[ie.end];if(Ne>0){var $e=[0,0];$e[z]=t[z]+Ce[ie.end]-re,$e[V]=_e,y.push(renderDigitLine(n,k,"dashed",y.length,Ne,$e,xe.className,r))}Ce=Ie}),pe.forEach(function(xe){var Ie=xe.elementRect.rect,Ne=re-Ie[ie.start],$e=Ie[ie.end]-ae,Oe=[0,0],Fe=[0,0];Oe[z]=t[z]-Ne,Oe[V]=_e,Fe[z]=t[z]+ae-re,Fe[V]=_e,y.push(renderDigitLine(n,k,"dashed",y.length,Ne,Oe,xe.className,r)),y.push(renderDigitLine(n,k,"dashed",y.length,$e,Fe,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,z=L?0:1,V=L?HORIZONTAL_NAMES_MAP:VERTICAL_NAMES_MAP,j=L?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,ie=i[V.start],oe=i[V.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$3([re],__read$1(ue.map(function(Ce){var xe=Ce.rect;return xe[j.start]})),!1)),pe=Math.min.apply(Math,__spreadArray$3([ae],__read$1(ue.map(function(Ce){var xe=Ce.rect;return xe[j.end]})),!1)),_e=(he+pe)/2;he===pe||_e===(re+ae)/2||ue.forEach(function(Ce){var xe=Ce.rect,Ie=Ce.className,Ne=[t[0],t[1]];if(xe[V.end]he||Ne[re.end]0}).sort(function(Ie,Ne){return _e(Ie)-_e(Ne)}),xe=[];Ce.forEach(function(Ie){Ce.forEach(function(Ne){if(Ie!==Ne){var $e=Ie.rect,Oe=Ne.rect,Fe=$e[re.start],Et=$e[re.end],ze=Oe[re.start],qe=Oe[re.end];Fe>qe||ze>Et||xe.push([Ie,Ne])}})}),xe.forEach(function(Ie){var Ne=__read$1(Ie,2),$e=Ne[0],Oe=Ne[1],Fe=$e.rect,Et=Oe.rect,ze=Fe[oe.start],qe=Fe[oe.end],Ve=Et[oe.start],kt=Et[oe.end],Ue=pe[oe.start],Dt=0,jt=0,ei=!1,ti=!1,hi=!1;if(qe<=ae&&le<=Ve){if(ti=!0,Dt=(Ve-qe-(le-ae))/2,jt=qe+Dt+(le-ae)/2,abs(jt-de)>Ue)return}else if(qeUe)return}else if(qeUe)return}else return;Dt&&checkBetweenRects(e,Et,ie,g)&&(Dt>k||z.push({type:ie,pos:ie==="vertical"?[jt,0]:[0,jt],element:Oe.element,size:0,className:Oe.className,isStart:ei,isCenter:ti,isEnd:hi,gap:Dt,hide:!0,gapRects:[$e,Oe],direction:"",elementDirection:""}))})}),z}function startGridGroupGuidelines(n,e,t,i){var r,g,y=n.props,k=n.state,L=y.snapGridAll,z=y.snapGridWidth,V=z===void 0?0:z,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&&(V||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(_e,Ce){var xe=Ce===0?{snapSize:V,posName:"left",sizeName:"width",clientOffset:i.left-e}:{snapSize:ie,posName:"top",sizeName:"height",clientOffset:i.top-t},Ie=xe.snapSize,Ne=xe.posName,$e=xe.sizeName,Oe=xe.clientOffset;if(!Ie)return{dir:_e,multiple:1,snapSize:Ie,snapOffset:0};var Fe=le[$e],Et=le[Ne],ze=flat$2(de.map(function(ei){return[ei[Ne]-Et,ei[$e],Fe-ei[$e]-ei[Ne]+Et]})).filter(function(ei){return ei}).sort(function(ei,ti){return ei-ti}),qe=ze[0],Ve=ze.map(function(ei){return throttle(ei/qe,.1)*Ie}),kt=1,Ue=throttle(Fe/qe,.1);for(kt=1;kt<=10&&!Ve.every(function(ei){return ei*kt%1===0});++kt);var Dt=(-_e+1)/2,jt=dot$1(Et-Oe,Et-Oe+Fe,Dt,1-Dt);return{multiple:Ue*kt,dir:_e,snapSize:Ie,snapOffset:Math.round(jt/Ie)}}),pe=he.map(function(_e){return _e.multiple||1});k.snapThresholdInfo.multiples=pe,k.snapThresholdInfo.offset=he.map(function(_e){return _e.snapOffset}),he.forEach(function(_e,Ce){_e.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,z=k.snapGridWidth,V=z===void 0?0:z,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=V,he=ie;if(de&&(V*=de.multiples[0]||1,ie*=de.multiples[1]||1,le=de.offset),ie){for(var pe=function(Ce){oe.push({type:"horizontal",pos:[re,throttle(le[1]*he+Ce-r+ae,.1)],className:prefix$1("grid-guideline"),size:e,hide:!y,direction:"",grid:!0})},_e=0;_e<=t*2;_e+=ie)pe(_e);for(var _e=-ie;_e>=-t;_e-=ie)pe(_e)}if(V){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})},_e=0;_e<=e*2;_e+=V)pe(_e);for(var _e=-V;_e>=-e;_e-=V)pe(_e)}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$3(ie)&&"element"in ie?__assign$6(__assign$6({},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,z=[];k.forEach(function(ie){var oe=__read$1(ie,2),re=oe[0],ae=oe[1];z[ae]=r[re]}),getSnapElementRects(n,L.map(function(ie){return g[ie]})).map(function(ie,oe){z[L[oe]]=ie}),e.elementRects=z;var V=getSnapDirections(n.props.elementSnapDirections),j=[];return z.forEach(function(ie){var oe=ie.element,re=ie.top,ae=re===void 0?V.top:re,le=ie.left,de=le===void 0?V.left:le,ue=ie.right,he=ue===void 0?V.right:ue,pe=ie.bottom,_e=pe===void 0?V.bottom:pe,Ce=ie.center,xe=Ce===void 0?V.center:Ce,Ie=ie.middle,Ne=Ie===void 0?V.middle:Ie,$e=ie.className,Oe=ie.rect,Fe=splitSnapDirectionPoses({top:ae,right:he,left:de,bottom:_e,center:xe,middle:Ne},Oe),Et=Fe.horizontal,ze=Fe.vertical,qe=Fe.horizontalNames,Ve=Fe.verticalNames,kt=Oe.top,Ue=Oe.left,Dt=Oe.right-Ue,jt=Oe.bottom-kt,ei=[Dt,jt];ze.forEach(function(ti,hi){j.push({type:"vertical",element:oe,pos:[throttle(ti,.1),kt],size:jt,sizes:ei,className:$e,elementRect:ie,elementDirection:SNAP_SKIP_NAMES_MAP[Ve[hi]]||Ve[hi],direction:""})}),Et.forEach(function(ti,hi){j.push({type:"horizontal",element:oe,pos:[Ue,throttle(ti,.1)],size:Dt,sizes:ei,className:$e,elementRect:ie,elementDirection:SNAP_SKIP_NAMES_MAP[qe[hi]]||qe[hi],direction:""})})}),j}function getObjectGuidelines(n,e){return n?n.map(function(t){var i=isObject$3(t)?t:{pos:t},r=i.pos;return isNumber$1(r)?i:__assign$6(__assign$6({},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,z=y.top,V=y.bottom,j=y.right,ie=t+j-L,oe=i+V-z;return getObjectGuidelines(n,oe).forEach(function(re){k.push({type:"horizontal",pos:[L,throttle(re.pos-g+z,.1)],size:ie,className:re.className,direction:""})}),getObjectGuidelines(e,ie).forEach(function(re){k.push({type:"vertical",pos:[throttle(re.pos-r+L,.1),z],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,z=__read$1(calculateContainerPos(g,r,L),2),V=z[0],j=z[1],ie=t?0:k[0],oe=t?0:k[1];return e.map(function(re){var ae=re.element.getBoundingClientRect(),le=ae.left-V-ie,de=ae.top-j-oe,ue=de+ae.height,he=le+ae.width,pe=__read$1(calculateInversePosition(g,[le,de],L),2),_e=pe[0],Ce=pe[1],xe=__read$1(calculateInversePosition(g,[he,ue],L),2),Ie=xe[0],Ne=xe[1];return __assign$6(__assign$6({},re),{rect:{left:_e,right:Ie,top:Ce,bottom:Ne,center:(_e+Ie)/2,middle:(Ce+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]),z=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(z[0],1e-5),g.bottom=throttle(z[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),z=__spreadArray$3(__spreadArray$3([],__read$1(getSnapBoundInfo(n,e,k,i,r,g)),!1),__read$1(getInnerBoundInfo(n,L,g)),!1),V=getNearOffsetInfo(z,0),j=getNearOffsetInfo(z,1);return{width:{isBound:V.isBound,offset:V.offset[0]},height:{isBound:j.isBound,offset:j.offset[1]}}}function recheckSizeByTwoDirection(n,e,t,i,r,g,y,k,L){var z=getPosByDirection(e,y),V=checkMoveableSnapBounds(n,k,{vertical:[z[0]],horizontal:[z[1]]}),j=V.horizontal.offset,ie=V.vertical.offset;if(throttle(ie,FLOAT_POINT_NUM)||throttle(j,FLOAT_POINT_NUM)){var oe=__read$1(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),z=n.props.keepRatio,V=0,j=0,ie=0;ie<2;++ie){var oe=e(V,j),re=getSizeOffsetInfo(n,oe,r,z,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(z){var _e=abs(he)*(t?1/t:1),Ce=abs(pe)*(i?1/i:1),xe=de&&ue?_e0;if(de)return{isSnap:de,dist:de?le[0]:t}}if(k!=null&&k.length&&y){var ue=k.slice().sort(function(pe,_e){return getMinDegreeDistance(pe,i)-getMinDegreeDistance(_e,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,z=n.state,V=z.allMatrix,j=z.is3d;return checkSizeDist(n,function(ie,oe){return getNextFixedPoses(L||V,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,z=r.is3d,V=checkSizeDist(n,function(j,ie){return getNextFixedPoses(scaleMatrix(r,plus(e,[j/g,ie/y])),g,y,L,k,z)},g,y,t,k,i,r);return[V[0]/g,V[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$6(__assign$6({},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,z=getInitialBounds();k.forEach(function(re){re.isBound&&(re.direction==="start"&&(z.left=!0),re.direction==="end"&&(z.right=!0),i.push({type:"bounds",pos:re.pos}))}),L.forEach(function(re){re.isBound&&(re.direction==="start"&&(z.top=!0),re.direction==="end"&&(z.bottom=!0),r.push({type:"bounds",pos:re.pos}))});var V=checkInnerBoundPoses(n),j=V.boundMap,ie=V.vertical,oe=V.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:z,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,z=t.snapRenderInfo,V=n.props.snapRenderThreshold,j=V===void 0?1:V;if(!z||!z.render||!hasGuidelines(n,""))return watchValue(n,"boundMap",getInitialBounds(),function(ui){return JSON.stringify(ui)}),watchValue(n,"innerBoundMap",getInitialBounds(),function(ui){return JSON.stringify(ui)}),[];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=z.externalPoses||[],ae=getAbsolutePosesByState(n.state),le=[],de=[],ue=[],he=[],pe=[],_e=getRect(ae),Ce=_e.width,xe=_e.height,Ie=_e.top,Ne=_e.left,$e=_e.bottom,Oe=_e.right,Fe={left:Ne,right:Oe,top:Ie,bottom:$e,center:(Ne+Oe)/2,middle:(Ie+$e)/2},Et=re.length>0,ze=Et?getRect(re):{};if(!z.request){if(z.direction&&pe.push(getSnapInfosByDirection(n,ae,z.direction,j,j)),z.snap){var qe=getRect(ae);z.center&&(qe.middle=(qe.top+qe.bottom)/2,qe.center=(qe.left+qe.right)/2),pe.push(checkSnaps(n,qe,j,j))}Et&&(z.center&&(ze.middle=(ze.top+ze.bottom)/2,ze.center=(ze.left+ze.right)/2),pe.push(checkSnaps(n,ze,j,j))),pe.forEach(function(ui){var mi=ui.vertical.posInfos,pi=ui.horizontal.posInfos;le.push.apply(le,__spreadArray$3([],__read$1(mi.filter(function(ri){var oi=ri.guidelineInfos;return oi.some(function(bi){var Ti=bi.guideline;return!Ti.hide})}).map(function(ri){return{type:"snap",pos:ri.pos}})),!1)),de.push.apply(de,__spreadArray$3([],__read$1(pi.filter(function(ri){var oi=ri.guidelineInfos;return oi.some(function(bi){var Ti=bi.guideline;return!Ti.hide})}).map(function(ri){return{type:"snap",pos:ri.pos}})),!1)),ue.push.apply(ue,__spreadArray$3([],__read$1(getSnapGuidelines(mi)),!1)),he.push.apply(he,__spreadArray$3([],__read$1(getSnapGuidelines(pi)),!1))})}var Ve=addBoundGuidelines(n,[Ne,Oe],[Ie,$e],le,de),kt=Ve.boundMap,Ue=Ve.innerBoundMap;Et&&addBoundGuidelines(n,[ze.left,ze.right],[ze.top,ze.bottom],le,de,z.externalBounds);var Dt=__spreadArray$3(__spreadArray$3([],__read$1(ue),!1),__read$1(he),!1),jt=Dt.filter(function(ui){return ui.element&&!ui.gapRects}),ei=Dt.filter(function(ui){return ui.gapRects}).sort(function(ui,mi){return ui.gap-mi.gap});triggerEvent(n,"onSnap",{guidelines:Dt.filter(function(ui){var mi=ui.element;return!mi}),elements:jt,gaps:ei},!0);var ti=watchValue(n,"boundMap",kt,function(ui){return JSON.stringify(ui)},getInitialBounds()),hi=watchValue(n,"innerBoundMap",Ue,function(ui){return JSON.stringify(ui)},getInitialBounds());return(kt===ti||Ue===hi)&&triggerEvent(n,"onBound",{bounds:kt,innerBounds:Ue},!0),__spreadArray$3(__spreadArray$3(__spreadArray$3(__spreadArray$3(__spreadArray$3(__spreadArray$3([],__read$1(renderDashedGuidelines(n,jt,[ie,oe],Fe,e)),!1),__read$1(renderGapGuidelines(n,ei,[ie,oe],Fe,e)),!1),__read$1(renderGuidelines(n,"horizontal",he,[r,i],Fe,e)),!1),__read$1(renderGuidelines(n,"vertical",ue,[r,i],Fe,e)),!1),__read$1(renderSnapPoses(n,"horizontal",de,ie,i,Ce,0,e)),!1),__read$1(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,z=k/g,V=n.preserveAspectRatio.baseVal,j=V.align,ie=V.meetOrSlice,oe=[0,0],re=[L,z],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(z,L):Math.min(L,z);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$1(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,z=y.y;i==="foreignobject"&&!L&&!z&&(L=parseFloat(n.getAttribute("x"))||0,z=parseFloat(n.getAttribute("y"))||0);var V=L-k.x,j=z-k.y,ie=g?e[0]:e[0]-V,oe=g?e[1]:e[1]-j;return[V,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(z){return z[0]}),t=n.map(function(z){return z[1]}),i=Math.min.apply(Math,__spreadArray$3([],__read$1(e),!1)),r=Math.min.apply(Math,__spreadArray$3([],__read$1(t),!1)),g=Math.max.apply(Math,__spreadArray$3([],__read$1(e),!1)),y=Math.max.apply(Math,__spreadArray$3([],__read$1(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,z=getSize(y),V=z.offsetWidth,j=z.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,V,j,i),_e=pe.left,Ce=pe.top,xe=pe.width,Ie=pe.height,Ne=calculatePosition(he,k,i),$e=minus(Ne,[_e,Ce]),Oe=[ae+$e[0]*de/xe,le+$e[1]*ue/Ie],Fe=[0,0],Et=0;++Et<10;){var ze=invert(r,i);g=__read$1(minus(calculatePosition(ze,Oe,i),calculatePosition(ze,Ne,i)),2),Fe[0]=g[0],Fe[1]=g[1];var qe=multiplies(i,r,createOriginMatrix(Fe,i),L),Ve=calculateRect(qe,V,j,i),kt=Ve.left,Ue=Ve.top,Dt=kt-ae,jt=Ue-le;if(abs(Dt)<2&&abs(jt)<2)break;Oe[0]-=Dt,Oe[1]-=jt}return Fe.map(function(ei){return Math.round(ei)})}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$6(__assign$6({},e),i)}function getClientRectByPosition(n,e,t,i){var r=n.left,g=n.right,y=n.top,k=n.bottom,L=e.top,z=e.left,V={left:z+r,top:L+y,right:z+g,bottom:L+k,width:g-r,height:k-y};return t&&i?getExtendsRect(t,V):V}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$6(__assign$6({},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$6(__assign$6({},fillCSSObject(__assign$6(__assign$6(__assign$6({},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$6(__assign$6({},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$6(__assign$6({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$1(n,2),y=g[0],k=g[1],L=0,z=0;if(r&&y&&k){var V=getRad$1([0,0],e),j=getRad$1([0,0],i),ie=getDistSize(e),oe=Math.cos(V-j)*ie;if(!i[0])z=oe,L=z*t;else if(!i[1])L=oe,z=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,z=he*Math.cos(de)-ae,i[0]<0&&(L*=-1),i[1]<0&&(z*=-1)}}else L=i[0]*e[0],z=i[1]*e[1];return[L,z]}function getOffsetSizeDist(n,e,t,i){var r,g=t.ratio,y=t.startOffsetWidth,k=t.startOffsetHeight,L=0,z=0,V=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],z=re[1],e&&(L?z||(z=L/g):L=z*g);else if(isNumber$1(ie))L=(ie-1)*y,z=(ie-1)*k;else if(ae)L=(ae[0]-1)*y,z=(ae[1]-1)*k;else if(oe){var he=y*de[0],pe=k*de[1],_e=getDistSize([he,pe]);L=oe/_e*he*ue[0],z=oe/_e*pe*ue[1]}else{var Ce=getDragDist({datas:t,distX:V,distY:j});Ce=ue.map(function(xe,Ie){return Ce[Ie]*xe}),r=__read$1(getSizeDistByDist([y,k],Ce,g,n,e),2),L=r[0],z=r[1]}return{distWidth:L,distHeight:z}}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$1(n.split(" "),2),i=t[0],r=t[1],g=convertTransformUnit(i||""),y=convertTransformUnit(r||""),k=__assign$6(__assign$6({},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$2(t),y=isArray$2(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 z="onPinch".concat(i?"Group":"","Start"),V="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[V]}),ie=fillParams(n,e,{});i&&(ie.targets=i);var oe=triggerEvent(n,z,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[V]){var le=__assign$6(__assign$6({},e),{datas:g[ae.name],parentRotate:r,isPinch:!0});ae[V](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 z=r*(1-1/i),V=fillParams(n,e,{});k&&(V.targets=k);var j="onPinch".concat(k?"Group":"");triggerEvent(n,j,V);var ie=t.ables,oe="drag".concat(k?"Group":"","Control");return ie.forEach(function(re){re[oe]&&re[oe](n,__assign$6(__assign$6({},e),{datas:g[re.name],inputEvent:y,resolveMatrix:!0,pinchScale:i,parentDistance:z,parentRotate:L,isPinch:!0}))}),V}},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 z=t.ables,V="drag".concat(g?"Group":"","ControlEnd");return z.forEach(function(j){j[V]&&j[V](n,__assign$6(__assign$6({},e),{isDrag:i,datas:y[j.name],inputEvent:r,isPinch:!0}))}),i}},pinchGroupStart:function(n,e){return this.pinchStart(n,__assign$6(__assign$6({},e),{targets:n.props.targets}))},pinchGroup:function(n,e){return this.pinch(n,__assign$6(__assign$6({},e),{targets:n.props.targets}))},pinchGroupEnd:function(n,e){return this.pinchEnd(n,__assign$6(__assign$6({},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,z=k.height,V=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=V,t.prevDist=[1,1],t.direction=y,t.startOffsetWidth=L,t.startOffsetHeight=z,t.startValue=[1,1];var ae=!y[0]&&!y[1]||y[0]||!y[1];setDefaultTransformIndex(n,e,"scale"),t.isWidth=ae;function le(Ce){t.ratio=Ce&&isFinite(Ce)?Ce:0}t.startPositions=getAbsolutePosesByState(n.state);function de(Ce){var xe=getFixedDirectionInfo(t.startPositions,Ce);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(Ce){t.minScaleSize=Ce},he=function(Ce){t.maxScaleSize=Ce};ue([-1/0,-1/0]),he([1/0,1/0]);var pe=fillParams(n,e,__assign$6(__assign$6({direction:y,set:function(Ce){t.startValue=Ce},setRatio:le,setFixedDirection:de,setMinScaleSize:ue,setMaxScaleSize:he},fillTransformStartEvent(n,e)),{dragStart:Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))})),_e=triggerEvent(n,"onScaleStart",pe);return t.startFixedDirection=t.fixedDirection,_e!==!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,z=e.resolveMatrix,V=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,_e=j;!j[0]&&!j[1]&&(_e=[1,1]);var Ce=de&&(i!=null?i:ue.keepRatio)||!1,xe=n.state,Ie=[ae[0],ae[1]];function Ne(){var Si=getOffsetSizeDist(_e,Ce,t,e),ni=Si.distWidth,fi=Si.distHeight,si=ie?(ie+ni)/ie:1,_i=oe?(oe+fi)/oe:1;ae[0]||(Ie[0]=ni/ie),ae[1]||(Ie[1]=fi/oe);var Pt=(_e[0]||Ce?si:1)*Ie[0],Lt=(_e[1]||Ce?_i:1)*Ie[1];return Pt===0&&(Pt=sign(V[0])*MIN_SCALE),Lt===0&&(Lt=sign(V[1])*MIN_SCALE),[Pt,Lt]}var $e=Ne();if(!g&&n.props.groupable){var Oe=xe.snapRenderInfo||{},Fe=Oe.direction;isArray$2(Fe)&&(Fe[0]||Fe[1])&&(xe.snapRenderInfo={direction:j,request:e.isRequest})}triggerEvent(n,"onBeforeScale",fillParams(n,e,{scale:$e,setFixedDirection:function(Si){return t.setFixedDirection(Si),$e=Ne(),$e},startFixedDirection:t.startFixedDirection,setScale:function(Si){$e=Si}},!0));var Et=[$e[0]/Ie[0],$e[1]/Ie[1]],ze=y,qe=[0,0],Ve=sign(Et[0]*Et[1]),kt=!y&&!r&&g;if(kt||z?ze=getTranslateFixedPosition(n,t.targetAllTransform,[0,0],[0,0],t):y||(ze=t.fixedPosition),g||(qe=checkSnapScale(n,Et,j,!L&&k,t)),Ce){_e[0]&&_e[1]&&qe[0]&&qe[1]&&(Math.abs(qe[0]*ie)>Math.abs(qe[1]*oe)?qe[1]=0:qe[0]=0);var Ue=!qe[0]&&!qe[1];if(Ue&&(le?Et[0]=throttle(Et[0]*Ie[0],he)/Ie[0]:Et[1]=throttle(Et[1]*Ie[1],he)/Ie[1]),_e[0]&&!_e[1]||qe[0]&&!qe[1]||Ue&&le){Et[0]+=qe[0];var Dt=ie*Et[0]*Ie[0]/de;Et[1]=sign(Ve*Et[0])*abs(Dt/oe/Ie[1])}else if(!_e[0]&&_e[1]||!qe[0]&&qe[1]||Ue&&!le){Et[1]+=qe[1];var jt=oe*Et[1]*Ie[1]*de;Et[0]=sign(Ve*Et[1])*abs(jt/ie/Ie[0])}}else Et[0]+=qe[0],Et[1]+=qe[1],qe[0]||(Et[0]=throttle(Et[0]*Ie[0],he)/Ie[0]),qe[1]||(Et[1]=throttle(Et[1]*Ie[1],he)/Ie[1]);Et[0]===0&&(Et[0]=sign(V[0])*MIN_SCALE),Et[1]===0&&(Et[1]=sign(V[1])*MIN_SCALE),$e=multiply2(Et,[Ie[0],Ie[1]]);var ei=[ie,oe],ti=[ie*$e[0],oe*$e[1]];ti=calculateBoundSize(ti,t.minScaleSize,t.maxScaleSize,Ce?de:!1),$e=countEach(2,function(Si){return ei[Si]?ti[Si]/ei[Si]:ti[Si]}),Et=countEach(2,function(Si){return $e[Si]/Ie[Si]});var hi=countEach(2,function(Si){return V[Si]?Et[Si]/V[Si]:Et[Si]}),ui="scale(".concat(Et.join(", "),")"),mi="scale(".concat($e.join(", "),")"),pi=convertTransformFormat(t,mi,ui),ri=!ae[0]||!ae[1],oi=getScaleDist(n,ri?mi:ui,t.fixedDirection,ze,t.fixedOffset,t,ri),bi=kt?oi:minus(oi,t.prevInverseDist||[0,0]);if(t.prevDist=Et,t.prevInverseDist=oi,$e[0]===V[0]&&$e[1]===V[1]&&bi.every(function(Si){return!Si})&&!pe&&!kt)return!1;var Ti=fillParams(n,e,__assign$6({offsetWidth:ie,offsetHeight:oe,direction:j,scale:$e,dist:Et,delta:hi,isPinch:!!g},fillTransformEvent(n,pi,bi,g,e)));return triggerEvent(n,"onScale",Ti),Ti},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(z,V){return startChildDist(n,z,t,V)}),y=function(z){i.setFixedDirection(z),g.forEach(function(V,j){V.setFixedDirection(z),startChildDist(n,V.moveable,t,r[j])})};t.setFixedDirection=y;var k=__assign$6(__assign$6({},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(V){triggerEvent(n,"onBeforeScaleGroup",fillParams(n,e,__assign$6(__assign$6({},V),{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(V,j){var ie=__read$1(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$6(__assign$6({},j),{parentDist:null,parentScale:r,parentKeepRatio:y,dragClient:plus(k,[oe,re])})}),z=__assign$6({targets:n.props.targets,events:L},i);return triggerEvent(n,"onScaleGroup",z),z}}},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,z=k.pos2,V=k.pos3,j=k.pos4,ie=getMiddleLinePos(L,z),oe=getMiddleLinePos(z,L),re=getMiddleLinePos(L,V),ae=getMiddleLinePos(V,L),le=getMiddleLinePos(V,j),de=getMiddleLinePos(j,V),ue=getMiddleLinePos(z,j),he=getMiddleLinePos(j,z);return __spreadArray$3([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$1(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,z=k.is3d,V=k.targetTransform,j=k.targetMatrix,ie=k.width,oe=k.height,re=k.left,ae=k.top;t.datas={},t.targetTransform=V,t.warpTargetMatrix=z?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$1(ue,2),pe=he[0],_e=he[1];return calculate(t.warpTargetMatrix,[pe,_e,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$6({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,z=t.startValue,V=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($e){return V[$e]}),Ne.map(function($e){return ue[$e]}))}))return!1;var he=createWarpMatrix(V[0],V[2],V[1],V[3],ue[0],ue[2],ue[1],ue[3]);if(!he.length)return!1;var pe=multiply(y,he,4),_e=getTransfromMatrix(t,pe,!0),Ce=multiply(invert(k,4),_e,4);t.prevMatrix=_e;var xe=multiply(z,_e,4),Ie=convertTransformFormat(t,"matrix3d(".concat(xe.join(", "),")"),"matrix3d(".concat(_e.join(", "),")"));return fillOriginalTransform(e,Ie),triggerEvent(n,"onWarp",fillParams(n,e,__assign$6({delta:Ce,matrix:xe,dist:_e,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,z=k.height,V=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,z],[L,z],V[0],V[1],V[2],V[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(z,"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,z=k.renderPoses,V=k.rootMatrix,j=k.is3d,ie=L.left,oe=L.top,re=getRect(z),ae=re.left,le=re.top,de=re.width,ue=re.height,he=j?4:3,pe=__read$1(calculateInversePosition(V,[i-ie,r-oe],he),2),_e=pe[0],Ce=pe[1];_e-=ae,Ce-=le;var xe=[{left:ae,top:le,width:de,height:Ce-10},{left:ae,top:le,width:_e-10,height:ue},{left:ae,top:le+Ce+10,width:de,height:ue-Ce-10},{left:ae+_e+10,top:le,width:de-_e-10,height:ue}],Ie=[].slice.call(y.nextElementSibling.children);xe.forEach(function(Ne,$e){Ie[$e].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,z=y.svg,V=y.allMatrix,j=y.is3d,ie=y.left,oe=y.top,re=y.offsetWidth,ae=y.offsetHeight,le;if(!g&&z&&r){var de=__read$1(convertTransformOriginArray(r,re,ae),2),ue=de[0],he=de[1],pe=j?4:3,_e=calculatePosition(V,[ue,he],pe);le=getControlTransform(L,i,minus(_e,[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",z=e.targets;y.on("scroll",function(V){var j=V.container,ie=V.direction,oe=fillParams(n,e,{scrollContainer:j,direction:ie}),re=z?"onScrollGroup":"onScroll";z&&(oe.targets=z),triggerEvent(n,re,oe)}).on("move",function(V){var j=V.offsetX,ie=V.offsetY,oe=V.inputEvent;n[L].scrollBy(j,ie,oe.inputEvent,!1)}).on("scrollDrag",function(V){var j=V.next;j(n[L].getCurrentEvent())}),y.dragStart(e,__assign$6({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,z=L===void 0?0:L,V=i.getScrollPosition,j=V===void 0?getDefaultScrollPosition$1:V,ie=i.scrollOptions;return t.drag(e,__assign$6({container:g,threshold:k,throttleTime:z,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$6(__assign$6({},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$6(__assign$6({},e),{targets:n.props.targets}))},dragGroup:function(n,e){return this.drag(n,__assign$6(__assign$6({},e),{targets:n.props.targets}))},dragGroupEnd:function(n,e){return this.dragEnd(n,__assign$6(__assign$6({},e),{targets:n.props.targets}))},dragGroupControlStart:function(n,e){return this.dragStart(n,__assign$6(__assign$6({},e),{targets:n.props.targets,isControl:!0}))},dragGroupControl:function(n,e){return this.drag(n,__assign$6(__assign$6({},e),{targets:n.props.targets}))},dragGroupControEnd:function(n,e){return this.dragEnd(n,__assign$6(__assign$6({},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(),z=L.renderPoses,V=L.pos1,j=L.pos2,ie=L.pos3,oe=L.pos4,re=[V,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$1(le,2),he=ue[0],pe=ue[1],_e=re[he],Ce=re[pe],xe=z[he],Ie=z[pe],Ne=createWarpMatrix([0,0],[100,0],[0,100],[100,100],_e,Ce,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=[],z=!1,V=n.filter(function(ie){return!ie.virtual}),j=V.map(function(ie){var oe=ie.horizontal,re=ie.vertical,ae=ie.pos;if(re&&!z&&(z=!0,L.push("/")),z){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:V,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$1(oe,4),he=ue[0],pe=he===void 0?"0px":he,_e=ue[1],Ce=_e===void 0?pe:_e,xe=ue[2],Ie=xe===void 0?pe:xe,Ne=ue[3],$e=Ne===void 0?Ce:Ne,Oe=__read$1(re,4),Fe=Oe[0],Et=Fe===void 0?pe:Fe,ze=Oe[1],qe=ze===void 0?de?Et:Ce:ze,Ve=Oe[2],kt=Ve===void 0?de?Et:Ie:Ve,Ue=Oe[3],Dt=Ue===void 0?de?qe:$e:Ue,jt=[pe,Ce,Ie,$e].map(function(pi){return convertUnitSize(pi,e)}),ei=[Et,qe,kt,Dt].map(function(pi){return convertUnitSize(pi,t)}),ti=jt.slice(),hi=ei.slice();k=__read$1(calculateRatio([ti[0],ti[1]],e),2),ti[0]=k[0],ti[1]=k[1],L=__read$1(calculateRatio([ti[3],ti[2]],e),2),ti[3]=L[0],ti[2]=L[1],z=__read$1(calculateRatio([hi[0],hi[3]],t),2),hi[0]=z[0],hi[3]=z[1],V=__read$1(calculateRatio([hi[1],hi[2]],t),2),hi[1]=V[0],hi[2]=V[1];var ui=y?ti:ti.slice(0,Math.max(g[0],ae)),mi=y?hi:hi.slice(0,Math.max(g[1],le));return __spreadArray$3(__spreadArray$3([],__read$1(ui.map(function(pi,ri){var oi=RADIUS_DIRECTIONS[ri];return{virtual:ri>=ae,horizontal:HORIZONTAL_RADIUS_DIRECTIONS[ri],vertical:0,pos:[i+pi,r+(VERTICAL_RADIUS_DIRECTIONS[ri]===-1?t:0)],sub:!0,raw:jt[ri],direction:oi}})),!1),__read$1(mi.map(function(pi,ri){var oi=RADIUS_DIRECTIONS[ri];return{virtual:ri>=le,horizontal:0,vertical:VERTICAL_RADIUS_DIRECTIONS[ri],pos:[i+(HORIZONTAL_RADIUS_DIRECTIONS[ri]===-1?e:0),r+pi],sub:!0,raw:ei[ri],direction:oi}})),!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,z=0;if(L===0)z=r;else if(L>0&&L=k[0])z=k[0]+k[1]-L;else return;n.splice(t,z),e.splice(t,z)}function addRadiusPos(n,e,t,i,r,g,y,k,L,z,V){z===void 0&&(z=0),V===void 0&&(V=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-z:k-g,ae=ie[1];ae<=i;++ae){var le=VERTICAL_RADIUS_DIRECTIONS[ae]===1?V:L,de=0;if(i===ae?de=g:ae===0?de=z+re:HORIZONTAL_RADIUS_DIRECTIONS[ae]===-1&&(de=k-(e[t][0]-z)),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-V:L-y;if(ie[1]===0&&oe[1]===0){var he=[z+ue,V];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?z:k,le=0;if(r===ae?le=y:ae===0?le=V+ue:VERTICAL_RADIUS_DIRECTIONS[ae]===1?le=e[t+pe][1]:VERTICAL_RADIUS_DIRECTIONS[ae]===-1&&(le=L-(e[t+pe][1]-V)),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,z=k.poses,V=L==="rect",j=L==="circle";if(L==="polygon")return t.map(function(Ce){return"".concat(convertCSSSize(Ce[0],g,i)," ").concat(convertCSSSize(Ce[1],y,i))});if(V||L==="inset"){var ie=t[1][1],oe=t[3][0],re=t[7][0],ae=t[5][1];if(V)return[ie,oe,ae,re].map(function(Ce){return"".concat(Ce,"px")});var le=[ie,g-oe,y-ae,re].map(function(Ce,xe){return convertCSSSize(Ce,xe%2?g:y,i)});if(t.length>8){var de=__read$1(minus(t[4],t[0]),2),ue=de[0],he=de[1];le.push.apply(le,__spreadArray$3(["round"],__read$1(getRadiusStyles(z.slice(8).map(function(Ce,xe){return __assign$6(__assign$6({},Ce),{pos:t[xe]})}),i,ue,he,re,ie,oe,ae).styles),!1))}return le}else if(j||L==="ellipse"){var pe=t[0],_e=convertCSSSize(abs(t[1][1]-pe[1]),j?Math.sqrt((g*g+y*y)/2):y,i),le=j?[_e]:[convertCSSSize(abs(t[2][0]-pe[0]),g,i),_e];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$1(y,3),L=k[0],z=k[1],V=k[2],j=r[L+1],ie=g[z+1];return{vertical:abs(z),horizontal:abs(L),direction:V,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,z,V,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,_e=pe===void 0?"":pe,Ce=he==="circle",xe=" ";if(he==="polygon"){var Ie=splitComma(_e||"0% 0%, 100% 0%, 100% 100%, 0% 100%");xe=",";var Ne=Ie.map(function(yi){var Li=__read$1(yi.split(" "),2),Pi=Li[0],xi=Li[1];return{vertical:1,horizontal:1,pos:[convertUnitSize(Pi,e),convertUnitSize(xi,t)]}}),$e=getMinMaxs(Ne.map(function(yi){return yi.pos}));return{type:he,clipText:re,poses:Ne,splitter:xe,left:$e.minX,right:$e.maxX,top:$e.minY,bottom:$e.maxY}}else if(Ce||he==="ellipse"){var Oe="",Fe="",Et=0,ze=0,Ie=splitSpace(_e);if(Ce){var qe="";g=__read$1(Ie,4),y=g[0],qe=y===void 0?"50%":y,k=g[2],Oe=k===void 0?"50%":k,L=g[3],Fe=L===void 0?"50%":L,Et=convertUnitSize(qe,Math.sqrt((e*e+t*t)/2)),ze=Et}else{var Ve="",kt="";z=__read$1(Ie,5),V=z[0],Ve=V===void 0?"50%":V,j=z[1],kt=j===void 0?"50%":j,ie=z[3],Oe=ie===void 0?"50%":ie,oe=z[4],Fe=oe===void 0?"50%":oe,Et=convertUnitSize(Ve,e),ze=convertUnitSize(kt,t)}var Ue=[convertUnitSize(Oe,e),convertUnitSize(Fe,t)],Ne=__spreadArray$3([{vertical:1,horizontal:1,pos:Ue,direction:"nesw"}],__read$1(CLIP_DIRECTIONS.slice(0,Ce?1:2).map(function(Pi){return{vertical:abs(Pi[1]),horizontal:Pi[0],direction:Pi[2],sub:!0,pos:[Ue[0]+Pi[0]*Et,Ue[1]+Pi[1]*ze]}})),!1);return{type:he,clipText:re,radiusX:Et,radiusY:ze,left:Ue[0]-Et,top:Ue[1]-ze,right:Ue[0]+Et,bottom:Ue[1]+ze,poses:Ne,splitter:xe}}else if(he==="inset"){var Ie=splitSpace(_e||"0 0 0 0"),Dt=Ie.indexOf("round"),jt=(Dt>-1?Ie.slice(0,Dt):Ie).length,ei=Ie.slice(jt+1),ti=__read$1(Ie.slice(0,jt),4),hi=ti[0],ui=ti[1],mi=ui===void 0?hi:ui,pi=ti[2],ri=pi===void 0?hi:pi,oi=ti[3],bi=oi===void 0?mi:oi,Ti=__read$1([hi,ri].map(function(Pi){return convertUnitSize(Pi,t)}),2),Si=Ti[0],ni=Ti[1],fi=__read$1([bi,mi].map(function(Pi){return convertUnitSize(Pi,e)}),2),si=fi[0],_i=fi[1],Pt=e-_i,Lt=t-ni,At=getRadiusValues(ei,Pt-si,Lt-Si,si,Si),Ne=__spreadArray$3(__spreadArray$3([],__read$1(getRectPoses(Si,Pt,Lt,si)),!1),__read$1(At),!1);return{type:"inset",clipText:re,poses:Ne,top:Si,left:si,right:Pt,bottom:Lt,radius:ei,splitter:xe}}else if(he==="rect"){var Ie=splitComma(_e||"0px, ".concat(e,"px, ").concat(t,"px, 0px"));xe=",";var ii=__read$1(Ie.map(function(Vi){var Hi=splitUnit(Vi).value;return Hi}),4),gi=ii[0],_i=ii[1],ni=ii[2],si=ii[3],Ne=getRectPoses(gi,_i,ni,si);return{type:"rect",clipText:re,poses:Ne,top:gi,right:_i,bottom:ni,left:si,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]}),z=y?y.split(""):[];if(i&&e<8){var V=z.filter(function(Et){return Et==="w"||Et==="e"}),j=z.filter(function(Et){return Et==="n"||Et==="s"}),ie=V[0],oe=j[0];L[e]=t;var re=__read$1(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 _e=getSizeDistByDist([ae,le],t,de,pe,!0),Ce=ae+_e[0],xe=le+_e[1],Ie=he[1],Ne=he[1],$e=he[0],Oe=he[0];pe[0]===-1?$e=Oe-Ce:pe[0]===1?Oe=$e+Ce:($e=$e-Ce/2,Oe=Oe+Ce/2),pe[1]===-1?Ie=Ne-xe:(pe[1]===1||(Ie=Ne-xe/2),Ne=Ie+xe);var Fe=getRectPoses(Ie,Oe,Ne,$e);n.forEach(function(Et,ze){L[ze][0]=Fe[ze].pos[0]-Et.pos[0],L[ze][1]=Fe[ze].pos[1]-Et.pos[1]})}else n.forEach(function(Et,ze){var qe=Et.direction;qe&&(qe.indexOf(ie)>-1&&(L[ze][0]=t[0]),qe.indexOf(oe)>-1&&(L[ze][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?z.forEach(function(Et){var ze=Et==="n"||Et==="s";n.forEach(function(qe,Ve){var kt=qe.direction,Ue=qe.horizontal,Dt=qe.vertical;!kt||kt.indexOf(Et)===-1||(L[Ve]=[ze||!Ue?0:t[0],!ze||!Dt?0:t[1]])})}):L[e]=t;return L}function addClipPath(n,e){var t=__read$1(calculatePointerDist(n,e),2),i=t[0],r=t[1],g=e.datas,y=g.clipPath,k=g.clipIndex,L=y,z=L.type,V=L.poses,j=L.splitter,ie=V.map(function(ue){return ue.pos});if(z==="polygon")ie.splice(k,0,[i,r]);else if(z==="inset"){var oe=HORIZONTAL_RADIUS_ORDER.indexOf(k),re=VERTICAL_RADIUS_ORDER.indexOf(k),ae=V.length;if(addRadiusPos(V,ie,8,oe,re,i,r,ie[4][0],ie[4][1],ie[0][0],ie[0][1]),ae===V.length)return}else return;var le=getClipStyles(n,y,ie),de="".concat(z,"(").concat(le.join(j),")");triggerEvent(n,"onClip",fillParams(n,e,__assign$6({clipEventType:"added",clipType:z,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,z=k.map(function(oe){return oe.pos}),V=z.length;if(y==="polygon")k.splice(r,1),z.splice(r,1);else if(y==="inset"){if(r<8||(removeRadiusPos(k,z,r,8,V),V===k.length))return}else return;var j=getClipStyles(n,i,z),ie="".concat(y,"(").concat(j.join(L),")");triggerEvent(n,"onClip",fillParams(n,e,__assign$6({clipEventType:"removed",clipType:y,poses:z,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(),z=L.target,V=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,_e=L.snapBoundInfos,Ce=L.rotation;if(!z||k)return[];var xe=getClipPath(z,V,j,r||"inset",pe||i);if(!xe)return[];var Ie=oe?4:3,Ne=xe.type,$e=xe.poses,Oe=$e.map(function(_i){var Pt=calculatePosition(ie,_i.pos,Ie);return[Pt[0]-re,Pt[1]-ae]}),Fe=[],Et=[],ze=Ne==="rect",qe=Ne==="inset",Ve=Ne==="polygon";if(ze||qe||Ve){var kt=qe?Oe.slice(0,8):Oe;Et=kt.map(function(_i,Pt){var Lt=Pt===0?kt[kt.length-1]:kt[Pt-1],At=getRad$1(Lt,_i),ii=getDiagonalSize(Lt,_i);return e.createElement("div",{key:"clipLine".concat(Pt),className:prefix$1("line","clip-line","snap-control"),"data-clip-index":Pt,style:{width:"".concat(ii,"px"),transform:"translate(".concat(Lt[0],"px, ").concat(Lt[1],"px) rotate(").concat(At,"rad) scaleY(").concat(y,")")}})})}if(Fe=Oe.map(function(_i,Pt){return e.createElement("div",{key:"clipControl".concat(Pt),className:prefix$1("control","clip-control","snap-control"),"data-clip-index":Pt,style:{transform:"translate(".concat(_i[0],"px, ").concat(_i[1],"px) rotate(").concat(Ce,"rad) scale(").concat(y,")")}})}),qe&&Fe.push.apply(Fe,__spreadArray$3([],__read$1(Oe.slice(8).map(function(_i,Pt){return e.createElement("div",{key:"clipRadiusControl".concat(Pt),className:prefix$1("control","clip-control","clip-radius","snap-control"),"data-clip-index":8+Pt,style:{transform:"translate(".concat(_i[0],"px, ").concat(_i[1],"px) rotate(").concat(Ce,"rad) scale(").concat(y,")")}})})),!1)),Ne==="circle"||Ne==="ellipse"){var Ue=xe.left,Dt=xe.top,jt=xe.radiusX,ei=xe.radiusY,ti=__read$1(minus(calculatePosition(ie,[Ue,Dt],Ie),calculatePosition(ie,[0,0],Ie)),2),hi=ti[0],ui=ti[1],mi="none";if(!g){for(var pi=Math.max(10,jt/5,ei/5),ri=[],oi=0;oi<=pi;++oi){var bi=Math.PI*2/pi*oi;ri.push([jt+(jt-y)*Math.cos(bi),ei+(ei-y)*Math.sin(bi)])}ri.push([jt,-2]),ri.push([-2,-2]),ri.push([-2,ei*2+2]),ri.push([jt*2+2,ei*2+2]),ri.push([jt*2+2,-2]),ri.push([jt,-2]),mi="polygon(".concat(ri.map(function(_i){return"".concat(_i[0],"px ").concat(_i[1],"px")}).join(", "),")")}Fe.push(e.createElement("div",{key:"clipEllipse",className:prefix$1("clip-ellipse","snap-control"),style:{width:"".concat(jt*2,"px"),height:"".concat(ei*2,"px"),clipPath:mi,transform:"translate(".concat(-re+hi,"px, ").concat(-ae+ui,"px) ").concat(makeMatrixCSS(ie))}}))}if(g){var Ti=getRect(__spreadArray$3([le,de,ue,he],__read$1(Oe),!1)),Si=Ti.width,ni=Ti.height,fi=Ti.left,si=Ti.top;if(Ve||ze||qe){var ri=qe?Oe.slice(0,8):Oe;Fe.push(e.createElement("div",{key:"clipArea",className:prefix$1("clip-area","snap-control"),style:{width:"".concat(Si,"px"),height:"".concat(ni,"px"),transform:"translate(".concat(fi,"px, ").concat(si,"px)"),clipPath:"polygon(".concat(ri.map(function(Pt){return"".concat(Pt[0]-fi,"px ").concat(Pt[1]-si,"px")}).join(", "),")")}}))}}return _e&&["vertical","horizontal"].forEach(function(_i){var Pt=_e[_i],Lt=_i==="horizontal";Pt.isSnap&&Et.push.apply(Et,__spreadArray$3([],__read$1(Pt.snap.posInfos.map(function(At,ii){var gi=At.pos,yi=minus(calculatePosition(ie,Lt?[0,gi]:[gi,0],Ie),[re,ae]),Li=minus(calculatePosition(ie,Lt?[V,gi]:[gi,j],Ie),[re,ae]);return renderLine(e,"",yi,Li,y,"clip".concat(_i,"snap").concat(ii),"guideline")})),!1)),Pt.isBound&&Et.push.apply(Et,__spreadArray$3([],__read$1(Pt.bounds.map(function(At,ii){var gi=At.pos,yi=minus(calculatePosition(ie,Lt?[0,gi]:[gi,0],Ie),[re,ae]),Li=minus(calculatePosition(ie,Lt?[V,gi]:[gi,j],Ie),[re,ae]);return renderLine(e,"",yi,Li,y,"clip".concat(_i,"bounds").concat(ii),"guideline","bounds","bold")})),!1))}),__spreadArray$3(__spreadArray$3([],__read$1(Fe),!1),__read$1(Et),!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$6(__assign$6({},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,z=e.inputEvent?e.inputEvent.target:null,V=z&&z.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=V&&V.indexOf("clip-control")>-1,j.isLine=V.indexOf("clip-line")>-1,j.isArea=V.indexOf("clip-area")>-1||V.indexOf("clip-ellipse")>-1,j.clipIndex=z?parseInt(z.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,z=L.isControl,V=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$1(ue.prevBeforeDist,2),le=t[0],de=t[1]):(i=__read$1(he,2),le=i[0],de=i[1]);var pe=[le,de],_e=n.state,Ce=_e.width,xe=_e.height,Ie=!j&&!z&&!V,Ne=oe.type,$e=oe.poses,Oe=oe.splitter,Fe=$e.map(function(hn){return hn.pos});Ie&&(le=-le,de=-de);var Et=!z||$e[ie].direction==="nesw",ze=Ne==="inset"||Ne==="rect",qe=$e.map(function(){return[0,0]});if(z&&!Et){var Ve=$e[ie],kt=Ve.horizontal,Ue=Ve.vertical,Dt=[le*abs(kt),de*abs(Ue)];qe=moveControlPos($e,ie,Dt,ze,ae)}else Et&&(qe=Fe.map(function(){return[le,de]}));var jt=Fe.map(function(hn,kn){return plus(hn,qe[kn])}),ei=__spreadArray$3([],__read$1(jt),!1);_e.snapBoundInfos=null;var ti=oe.type==="circle",hi=oe.type==="ellipse";if(ti||hi){var ui=getRect(jt),mi=abs(ui.bottom-ui.top),pi=abs(hi?ui.right-ui.left:mi),ri=jt[0][1]+mi,oi=jt[0][0]-pi,bi=jt[0][0]+pi;ti&&(ei.push([bi,ui.bottom]),qe.push([1,0])),ei.push([ui.left,ri]),qe.push([0,1]),ei.push([oi,ui.bottom]),qe.push([1,0])}var Ti=getDefaultGuidelines((re.clipHorizontalGuidelines||[]).map(function(hn){return convertUnitSize("".concat(hn),xe)}),(re.clipVerticalGuidelines||[]).map(function(hn){return convertUnitSize("".concat(hn),Ce)}),Ce,xe),Si=[],ni=[];if(ti||hi)Si=[ei[4][0],ei[2][0]],ni=[ei[1][1],ei[3][1]];else if(ze){var fi=[ei[0],ei[2],ei[4],ei[6]],si=[qe[0],qe[2],qe[4],qe[6]];Si=fi.filter(function(hn,kn){return si[kn][0]}).map(function(hn){return hn[0]}),ni=fi.filter(function(hn,kn){return si[kn][1]}).map(function(hn){return hn[1]})}else Si=ei.filter(function(hn,kn){return qe[kn][0]}).map(function(hn){return hn[0]}),ni=ei.filter(function(hn,kn){return qe[kn][1]}).map(function(hn){return hn[1]});var _i=[0,0],Pt=checkSnapBounds(Ti,re.clipTargetBounds&&{left:0,top:0,right:Ce,bottom:xe},Si,ni,5,5),Lt=Pt.horizontal,At=Pt.vertical,ii=Lt.offset,gi=At.offset;if(Lt.isBound&&(_i[1]+=ii),At.isBound&&(_i[0]+=gi),(hi||ti)&&qe[0][0]===0&&qe[0][1]===0){var ui=getRect(jt),yi=ui.bottom-ui.top,Li=hi?ui.right-ui.left:yi,Pi=At.isBound?abs(gi):At.snapIndex===0?-gi:gi,xi=Lt.isBound?abs(ii):Lt.snapIndex===0?-ii:ii;Li-=Pi,yi-=xi,ti&&(yi=checkSnapBoundPriority(At,Lt)>0?yi:Li,Li=yi);var Ai=ei[0];ei[1][1]=Ai[1]-yi,ei[2][0]=Ai[0]+Li,ei[3][1]=Ai[1]+yi,ei[4][0]=Ai[0]-Li}else if(ze&&ae&&z){var Vi=__read$1(getControlSize($e),2),Hi=Vi[0],qi=Vi[1],Sn=Hi&&qi?Hi/qi:0,wn=$e[ie],zi=wn.direction||"",Yi=ei[1][1],ri=ei[5][1],oi=ei[7][0],bi=ei[3][0];abs(ii)<=abs(gi)?ii=sign(ii)*abs(gi)/Sn:gi=sign(gi)*abs(ii)*Sn,zi.indexOf("w")>-1?oi-=gi:zi.indexOf("e")>-1?bi-=gi:(oi+=gi/2,bi-=gi/2),zi.indexOf("n")>-1?Yi-=ii:zi.indexOf("s")>-1?ri-=ii:(Yi+=ii/2,ri-=ii/2);var Xi=getRectPoses(Yi,bi,ri,oi);ei.forEach(function($n,Gn){var Mn;Mn=__read$1(Xi[Gn].pos,2),$n[0]=Mn[0],$n[1]=Mn[1]})}else ei.forEach(function(hn,kn){var xn=qe[kn];xn[0]&&(hn[0]-=gi),xn[1]&&(hn[1]-=ii)});var Ei=getClipStyles(n,oe,jt),Bi="".concat(Ne,"(").concat(Ei.join(Oe),")");if(_e.clipPathState=Bi,ti||hi)Si=[ei[4][0],ei[2][0]],ni=[ei[1][1],ei[3][1]];else if(ze){var fi=[ei[0],ei[2],ei[4],ei[6]];Si=fi.map(function(kn){return kn[0]}),ni=fi.map(function(kn){return kn[1]})}else Si=ei.map(function(hn){return hn[0]}),ni=ei.map(function(hn){return hn[1]});if(_e.snapBoundInfos=checkSnapBounds(Ti,re.clipTargetBounds&&{left:0,top:0,right:Ce,bottom:xe},Si,ni,1,1),ue){var di=_e.is3d,Ni=_e.allMatrix,Mi=di?4:3,ji=_i;k&&(ji=[pe[0]+_i[0]-he[0],pe[1]+_i[1]-he[1]]),ue.deltaOffset=multiply(Ni,[ji[0],ji[1],0,0],Mi)}return triggerEvent(n,"onClip",fillParams(n,e,__assign$6({clipEventType:"changed",clipType:Ne,poses:jt,clipStyle:Bi,clipStyles:Ei,distX:le,distY:de},fillCSSObject((r={},r[Ne==="rect"?"clip":"clipPath"]=Bi,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$1(getDragDist(e),2),y=g[0],k=g[1],L=n.state,z=L.width,V=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),_e=minus(de,t.prevOrigin),Ce=getNextMatrix(j,ie,he,le),xe=n.getRect(),Ie=getRect(calculatePoses(Ce,z,V,le)),Ne=[xe.left-Ie.left,xe.top-Ie.top];t.prevOrigin=de;var $e=[convertCSSSize(pe[0],z,ae),convertCSSSize(pe[1],V,ae)].join(" "),Oe=Draggable.drag(n,setCustomDrag(e,n.state,Ne,!!i)),Fe=fillParams(n,e,__assign$6(__assign$6({width:z,height:V,origin:he,dist:de,delta:_e,transformOrigin:$e,drag:Oe},fillCSSObject({transformOrigin:$e,transform:Oe.transform},e)),{afterTransform:Oe.transform}));return triggerEvent(n,"onDragOrigin",Fe),Fe},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 z=L.virtual,V=L.horizontal;return V&&!z}).length,g=n.filter(function(L){var z=L.virtual,V=L.vertical;return V&&!z}).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),z=L.raws,V=L.styles,j=L.radiusPoses,ie=splitRadiusPoses(j,z),oe=ie.horizontals,re=ie.verticals,ae=V.join(" ");g.borderRadiusState=ae;var le=fillParams(n,e,__assign$6({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,z=t.top,V=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 _e=V||getStyleBorderRadius(n),Ce=k?4:3,xe=getBorderRadius(_e,r,g,oe,!0);if(!xe)return null;var Ie=0,Ne=0,$e=pe?[0,0]:[L,z];return xe.map(function(Oe,Fe){var Et=Oe.horizontal,ze=Oe.vertical,qe=Oe.direction||"",Ve=__spreadArray$3([],__read$1(Oe.pos),!1);Ne+=Math.abs(Et),Ie+=Math.abs(ze),Et&&qe.indexOf("n")>-1&&(Ve[1]-=ue),ze&&qe.indexOf("w")>-1&&(Ve[0]-=ue),Et&&qe.indexOf("s")>-1&&(Ve[1]+=ue),ze&&qe.indexOf("e")>-1&&(Ve[0]+=ue);var kt=minus(calculatePosition(y,Ve,Ce),$e),Ue=he&&he!=="horizontal",Dt=Oe.vertical?Ie<=ae[1]&&(Ue||!Oe.virtual):Ne<=ae[0]&&(he||!Oe.virtual);return e.createElement("div",{key:"borderRadiusControl".concat(Fe),className:prefix$1("control","border-radius",Oe.vertical?"vertical":"",Oe.virtual?"virtual":""),"data-radius-index":Fe,style:{display:Dt?"block":"none",transform:"translate(".concat(kt[0],"px, ").concat(kt[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,z=-1;if(k){var V=r.getAttribute("data-line-key")||"";V&&(z=parseInt(V.replace(/render-line-/g,""),10),isNaN(z)&&(z=-1))}if(!y&&!k)return!1;var j=fillParams(n,e,{}),ie=triggerEvent(n,"onRoundStart",j);if(ie===!1)return!1;i.lineIndex=z,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),_e=getBorderRadius(pe||"",ue,he,le,!0)||[];return i.controlPoses=_e,de.borderRadiusState=getRadiusStyles(_e,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$1(getDragDist(e),2),y=g[0],k=g[1],L=[y,k],z=minus(L,t.prevDist),V=n.props.maxRoundControls,j=V===void 0?[4,4]:V,ie=n.state,oe=ie.width,re=ie.height,ae=i[r],le=ae.vertical,de=ae.horizontal,ue=i.map(function(pe){var _e=pe.horizontal,Ce=pe.vertical,xe=[_e*de*L[0],Ce*le*L[1]];if(_e){if(j[0]===1)return xe;if(j[0]<4&&_e!==de)return xe}else{if(j[1]===0)return xe[1]=Ce*de*L[0]/oe*re,xe;if(le){if(j[1]===1)return xe;if(j[1]<4&&Ce!==le)return xe}}return[0,0]});ue[r]=L;var he=i.map(function(pe,_e){return __assign$6(__assign$6({},pe),{pos:plus(pe.pos,ue[_e])})});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,z,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,z=i.controlPoses,V=z.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(z,y);else if(k&&(ie===!0||ie==="line")){var oe=__read$1(calculatePointerDist(n,e),2),re=oe[0],ae=oe[1];addBorderRadiusByLine(z,L,re,ae)}V!==z.filter(function(de){var ue=de.virtual;return ue}).length&&triggerRoundEvent(n,e,[0,0],[0,0],z)}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$6({targets:n.props.targets,events:g.map(function(k,L){return __assign$6(__assign$6({},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$6({targets:n.props.targets,events:g.map(function(k,L){return __assign$6(__assign$6(__assign$6({},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$6({targets:n.props.targets,events:r.map(function(z,V){return __assign$6(__assign$6(__assign$6({},z),{target:i[V],moveable:t[V],currentTarget:t[V]}),fillCSSObject({borderRadius:k.borderRadius},z))})},k);triggerEvent(n,"onRoundGroup",L)});var g=this.dragControlEnd(n,e);if(!g)return!1;var y=__assign$6({targets:n.props.targets,events:r.map(function(k,L){var z;return __assign$6(__assign$6({},k),{target:i[L],moveable:t[L],currentTarget:t[L],lastEvent:(z=k.datas)===null||z===void 0?void 0:z.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$2(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$6(__assign$6({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$6({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$6({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$6({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",z=r==="After",V=n.state.target,j=g.isRequest,ie=i.indexOf("Control")>-1;if(!V||k&&ie&&!j&&n.areaElement===g.inputEvent.target)return!1;var oe=__spreadArray$3([],__read$1(e),!1);if(j){var re=g.requestAble;oe.some(function(Fe){return Fe.name===re})||oe.push.apply(oe,__spreadArray$3([],__read$1(n.props.ables.filter(function(Fe){return Fe.name===re})),!1))}if(!oe.length||oe.every(function(Fe){return Fe.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 Fe;de=!0,(Fe=g.stop)===null||Fe===void 0||Fe.call(g)},he=k&&(!n.targetGesto||!n.controlGesto||!n.targetGesto.isFlag()||!n.controlGesto.isFlag());he&&n.updateRect(r,!0,!1);var pe=g.datas,_e=ie?"controlGesto":"targetGesto",Ce=n[_e],xe=function(Fe,Et,ze){if(!(Et in Fe)||Ce!==n[_e])return!1;var qe=Fe.name,Ve=pe[qe]||(pe[qe]={});if(k&&(Ve.isEventStart=!ze||!Fe[ze]||Fe[ze](n,g)),!Ve.isEventStart)return!1;var kt=Fe[Et](n,__assign$6(__assign$6({},g),{stop:ue,datas:Ve,originalDatas:pe,inputTarget:le}));return n._emitter.off(),k&&kt===!1&&(Ve.isEventStart=!1),kt};he&&oe.forEach(function(Fe){Fe.unset&&Fe.unset(n)}),xe(BeforeRenderable,"drag".concat(i).concat(r));var Ie=0,Ne=0;t.forEach(function(Fe){if(de)return!1;var Et="".concat(Fe).concat(i).concat(r),ze="".concat(Fe).concat(i,"Condition");r===""&&!j&&convertDragDist(n.state,g);var qe=oe.filter(function(Ue){return Ue[Et]});qe=qe.filter(function(Ue,Dt){return Ue.name&&qe.indexOf(Ue)===Dt});var Ve=qe.filter(function(Ue){return xe(Ue,Et,ze)}),kt=Ve.length;de&&++Ie,kt&&++Ne,!de&&k&&qe.length&&!kt&&(Ie+=qe.filter(function(Ue){var Dt=Ue.name,jt=pe[Dt];return jt.isEventStart?Ue.dragRelation!=="strong":!1}).length?1:0)}),(!z||Ne)&&xe(Renderable,"drag".concat(i).concat(r));var $e=Ce!==n[_e]||Ie===t.length;if((L||de||$e)&&(n.state.gestos={},n.moveables&&n.moveables.forEach(function(Fe){Fe.state.gestos={}}),oe.forEach(function(Fe){Fe.unset&&Fe.unset(n)})),k&&!$e&&!j&&Ne&&n.props.preventDefault&&(g==null||g.preventDefault()),n.isUnmounted||$e)return!1;if(!k&&Ne&&!y||L){var Oe=n.props.flushSync||defaultSync;Oe(function(){n.updateRect(L?r:"",!0,!1),n.forceUpdate()})}return!k&&!L&&!z&&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 z=checkMoveableTarget(n);return getAbleGesto(n,r,"targetAbles",t,{dragStart:z,pinchStart:z})}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,z=y.preventClickEventOnDrag,V=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),_e={preventDefault:re,preventRightClick:le,preventWheelClick:ue,container:pe||getWindow(n.getControlBoxElement()),pinchThreshold:L,pinchOutside:k,preventClickEventOnDrag:g?z:!1,preventClickEventOnDragStart:g?V:!1,preventClickEventByCondition:g?null:function(Ie){return n.controlBox.contains(Ie.target)},checkInput:g?j:!1,dragFocusedInput:ie},Ce=new Gesto(e,_e),xe=i==="Control";return["drag","pinch"].forEach(function(Ie){["Start","","End"].forEach(function(Ne){Ce.on("".concat(Ie).concat(Ne),function($e){var Oe,Fe=$e.eventType,Et=Ie==="drag"&&$e.isPinch;if(r[Fe]&&!r[Fe]($e)){$e.stop();return}if(!Et){var ze=Ie==="drag"?[Ie]:["drag",Ie],qe=__spreadArray$3([],__read$1(n[t]),!1),Ve=triggerAble(n,qe,ze,i,Ne,$e);Ve?(n.props.stopPropagation||Ne==="Start"&&xe)&&((Oe=$e==null?void 0:$e.inputEvent)===null||Oe===void 0||Oe.stopPropagation()):$e.stop()}})})}),Ce}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,z=g.transformOrigin,V=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,_e=n.tagName.toLowerCase()!=="svg"&&"ownerSVGElement"in n,Ce=L,xe=createIdentityMatrix(pe),Ie=createIdentityMatrix(pe),Ne=createIdentityMatrix(pe),$e=createIdentityMatrix(pe),Oe=y.length,Fe=ae.map(function(Dt){return __assign$6(__assign$6({},Dt),{matrix:Dt.matrix?__spreadArray$3([],__read$1(Dt.matrix),!1):void 0})}).reverse();y.reverse(),!k&&he&&(Ce=convertDimension(Ce,3,4),convert3DMatrixes(y)),!le&&he&&convert3DMatrixes(Fe),Fe.forEach(function(Dt){Ie=multiply(Ie,Dt.matrix,pe)});var Et=t||getDocumentBody(n),ze=((r=Fe[0])===null||r===void 0?void 0:r.target)||getOffsetInfo(Et,Et,!0).offsetParent,qe=Fe.slice(1).reduce(function(Dt,jt){return multiply(Dt,jt.matrix,pe)},createIdentityMatrix(pe));y.forEach(function(Dt,jt){if(Oe-2===jt&&(Ne=xe.slice()),Oe-1===jt&&($e=xe.slice()),!Dt.matrix){var ei=y[jt+1],ti=getSVGOffset(Dt,ei,ze,pe,multiply(qe,xe,pe));Dt.matrix=createOriginMatrix(ti,pe)}xe=multiply(xe,Dt.matrix,pe)});var Ve=!_e&&k;Ce||(Ce=createIdentityMatrix(Ve?4:3));var kt=makeMatrixCSS(_e&&Ce.length===16?convertDimension(Ce,4,3):Ce,Ve),Ue=Ie;return Ie=ignoreDimension(Ie,pe,pe),{hasZoom:oe!==1||ue!==1,hasFixed:ie,matrixes:y,rootMatrix:Ie,originalRootMatrix:Ue,beforeMatrix:Ne,offsetMatrix:$e,allMatrix:xe,targetMatrix:Ce,targetTransform:kt,inlineTransform:n.style.transform,transformOrigin:z,targetOrigin:V,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 z=calculateMatrixStack(n,e,t,i),V=calculateElementPosition(z.allMatrix,z.transformOrigin,r,g);k=__assign$6(__assign$6({},z),V);var j=calculateElementPosition(z.allMatrix,[50,50],100,100);y=getRotationRad([j.pos1,j.pos2],j.direction)}var ie=4;return __assign$6(__assign$6(__assign$6({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(),z=resetClientRect(),V=resetClientRect(),j=resetClientRect(),ie=[0,0],oe={},re=calculateElementInfo(e,t,r,!0);if(e){var ae=getCachedStyle(e);g.forEach(function(Fe){oe[Fe]=ae(Fe)});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(Fe){return parseFloat(Fe)}),ue.offsetWidth,ue.offsetHeight);if(L=getClientRectByPosition(he,j),V=getClientRectByPosition(pe,j,ue,!0),n){var _e=he.left,Ce=he.top;z=getClientRectByPosition({left:_e,top:Ce,bottom:Ce,right:Ce},j)}}else{L=getClientRect(e),V=getCachedClientRect(ue),n&&(z=getClientRect(n));var xe=V.left,Ie=V.top,Ne=V.clientLeft,$e=V.clientTop,Oe=[L.left-xe,L.top-Ie];ie=minus(calculateInversePosition(re.rootMatrix,Oe,4),[Ne+re.left,$e+re.top])}}return __assign$6({targetClientRect:L,containerClientRect:V,moveableClientRect:z,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$6(__assign$6({},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$7(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.state=__assign$6({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,z=t.translateZ,V=t.cssStyled,j=t.groupable,ie=t.linePadding,oe=t.controlPadding;this._checkUpdateRootContainer(),this.checkUpdate(),this.updateRenderPoses();var re=__read$1(r||[0,0],2),ae=re[0],le=re[1],de=i.left,ue=i.top,he=i.target,pe=i.direction,_e=i.hasFixed,Ce=i.offsetDelta,xe=t.targets,Ie=this.isDragging(),Ne={};this.getEnabledAbles().forEach(function(qe){Ne["data-able-".concat(qe.name.toLowerCase())]=!0});var $e=this._getAbleClassName(),Oe=xe&&xe.length&&(he||j)||y||!this._hasFirstTarget&&this.state.isPersisted,Fe=this.controlBox||this.props.firstRenderState||this.props.persistData,Et=[de-ae,ue-le];!j&&t.useAccuratePosition&&(Et[0]+=Ce[0],Et[1]+=Ce[1]);var ze={position:_e?"fixed":"absolute",display:Oe?"block":"none",visibility:Fe?"visible":"hidden",transform:"translate3d(".concat(Et[0],"px, ").concat(Et[1],"px, ").concat(z,")"),"--zoom":k,"--zoompx":"".concat(k,"px")};return ie&&(ze["--moveable-line-padding"]=ie),oe&&(ze["--moveable-control-padding"]=oe),createElement(V,__assign$6({cspNonce:L,ref:ref(this,"controlBox"),className:"".concat(prefix$1("control-box",pe===-1?"reverse":"",Ie?"dragging":"")," ").concat($e," ").concat(g)},Ne,{onClick:this._onPreventClick,style:ze}),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)>-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,z=i.targetClientRect;if(!r)return 0;var V;if(isNode(t)){var j=t.getBoundingClientRect();V={left:j.left,top:j.top,width:j.width,height:j.height}}else V=__assign$6({width:0,height:0},t);var ie=V.left,oe=V.top,re=V.width,ae=V.height,le=fitPoints([g,y,L,k],z),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,z=r.pos4,V=r.targetClientRect;return g?isInside([t,i],fitPoints([y,k,z,L],V)):!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,z=L.target||g.target,V=this.getContainer(),j=k?k._rootContainer:this._rootContainer,ie=getMoveableTargetInfo(this.controlBox,z,V,V,j||V,this._getRequestStyles());if(!z&&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$1(i,4),g=r[0],y=r[1],k=r[2],L=r[3],z=getRect(i),V=t.width,j=t.height,ie=z.width,oe=z.height,re=z.left,ae=z.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:V,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,z=y.groupable,V=find$1(L,function(de){return de.name===t});if(this.isDragging()||!V||!V.request)return{request:function(){return this},requestEnd:function(){return this}};var j=V.request(g),ie=r||i.isInstant,oe=j.isControl?"controlAbles":"targetAbles",re="".concat(z?"Group":"").concat(j.isControl?"Control":""),ae=__spreadArray$3([],__read$1(k[oe]),!1),le={request:function(de){return triggerAble(g,ae,["drag"],re,"",__assign$6(__assign$6({},j.request(de)),{requestAble:t,isRequest:!0}),ie),le},requestEnd:function(){return triggerAble(g,ae,["drag"],re,"End",__assign$6(__assign$6({},j.requestEnd()),{requestAble:t,isRequest:!0}),ie),le}};return triggerAble(g,ae,["drag"],re,"Start",__assign$6(__assign$6({},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,z=t.pos1,V=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=[z,V,j,ie],t.renderLines=[[z,V],[V,ie],[ie,j],[j,z]];return}var de=getPaddingBox(r||{}),ue=de.left,he=de.top,pe=de.bottom,_e=de.right,Ce=L?4:3,xe=[];ae?xe=y:this.controlBox&&i.groupable?xe=g:xe=plus(g,[oe,re]);var Ie=multiplies(Ce,createOriginMatrix(xe.map(function(ze){return-ze}),Ce),k,createOriginMatrix(y,Ce)),Ne=calculatePadding(Ie,z,[-ue,-he],Ce),$e=calculatePadding(Ie,V,[_e,-he],Ce),Oe=calculatePadding(Ie,j,[-ue,pe],Ce),Fe=calculatePadding(Ie,ie,[_e,pe],Ce);t.renderPoses=[Ne,$e,Oe,Fe],t.renderLines=[[Ne,$e],[$e,Fe],[Fe,Oe],[Oe,Ne]];{var Et=le/2;t.renderLines=[[calculatePadding(Ie,z,[-ue-Et,-he],Ce),calculatePadding(Ie,V,[_e+Et,-he],Ce)],[calculatePadding(Ie,V,[_e,-he-Et],Ce),calculatePadding(Ie,ie,[_e,pe+Et],Ce)],[calculatePadding(Ie,ie,[_e+Et,pe],Ce),calculatePadding(Ie,j,[-ue-Et,pe],Ce)],[calculatePadding(Ie,j,[-ue,pe+Et],Ce),calculatePadding(Ie,z,[-ue,-he-Et],Ce)]]}},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 z=!equals(k,i),V=z||!equals(L,r);if(V){var j=r||this.controlBox;j&&this.unsetAbles(),this.updateState({target:i,container:r}),!g&&j&&this.updateRect("End",!1,!1),this._isPropTargetChanged=z}}},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"),z="drag".concat(i,"ControlStart"),V=filterAbles(y,[k,L],g),j=filterAbles(y,[z],g);this.enabledAbles=y,this.targetAbles=V,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$3(__spreadArray$3([],__read$1(i),!1),__read$1(k),!1)},__spreadArray$3([],__read$1(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(),z={createElement};return L.renderLines.map(function(V,j){return renderLine(z,"",V[0],V[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,z=(t||k)&&y!==k;return L||z||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 z=this.enabledAbles;y.forEach(function(V){var j=filterAbles(z,[V]),ie=j.length>0,oe=g[V];if(!ie){oe&&(oe.destroy(),g[V]=null);return}oe||(oe=new EventManager(r,t,V),g[V]=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$3(__spreadArray$3([],__read$1(this._getAbleViewClassNames()),!1),[this.isDragging()?VIEW_DRAGGING:""],!1))},e.prototype._changeAbleViewClassNames=function(t){var i=this._viewContainer,r=groupBy(t.filter(Boolean),function(z){return z}).map(function(z){var V=__read$1(z,1),j=V[0];return j}),g=this._viewClassNames,y=diff$1(g,r),k=y.removed,L=y.added;k.forEach(function(z){removeClass$1(i,g[z])}),L.forEach(function(z){addClass$1(i,r[z])}),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(z){var V,j,ie,oe=z.name,re=((V=z.className)===null||V===void 0?void 0:V.call(z,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(z){var V,j;try{for(var ie=__values$1(z),oe=ie.next();!oe.done;oe=ie.next()){var re=oe.value;re.type==="attributes"&&re.attributeName==="style"&&i.checkUpdateRect()}}catch(ae){V={error:ae}}finally{try{oe&&!oe.done&&(j=ie.return)&&j.call(ie)}finally{if(V)throw V.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,z=i.zoom||1,V=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$3(__spreadArray$3([],__read$1(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:z})})),!1),__read$1(flat(V.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(_e,Ce){var xe=__read$1(_e,2),Ie=xe[0],Ne=xe[1];return renderLine(e,"",minus(pe[Ie],ie),minus(pe[Ne],ie),z,"group-rect-".concat(ae,"-").concat(Ce))})}))),!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$6(__assign$6({},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$1(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$1(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$3([],__read$1(n.map(function(t){var i=__read$1(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$3([],__read$1(n.map(function(t){var i=__read$1(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],z=0,V=0;if(!n.length)return{pos1:g,pos2:y,pos3:k,pos4:L,minX:0,minY:0,maxX:0,maxY:0,width:z,height:V,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(hi){hi.forEach(function(ui){var mi=solveConstantsDistance([-oe,1,0],ui),pi=solveConstantsDistance([-re,1,0],ui);ae[0]>mi&&(le[0]=ui,ae[0]=mi),ae[1]pi&&(ue[0]=ui,de[0]=pi),de[1]180){var kt=[L,k,y,g];r=__read$1(kt,4),g=r[0],y=r[1],k=r[2],L=r[3]}var Ue=getMinMaxs([g,y,k,L]),Dt=Ue.minX,jt=Ue.minY,ei=Ue.maxX,ti=Ue.maxY;return{pos1:g,pos2:y,pos3:k,pos4:L,width:z,height:V,minX:Dt,minY:jt,maxX:ei,maxY:ti,rotation:e}}function findMoveableGroups(n,e){var t=e.map(function(i){if(isArray$2(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$2(t[0])?t[0]:t}var MoveableGroup=function(n){__extends$7(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(oi){oi.updateRect(t,!1,!1)});var k=this.props,L=this.moveables,z=y.target||k.target,V=L.map(function(oi){return{finded:!1,manager:oi}}),j=this.props.targetGroups||[],ie=findMoveableGroups(V,j),oe=k.useDefaultGroupRotate;ie.push.apply(ie,__spreadArray$3([],__read$1(V.filter(function(oi){var bi=oi.finded;return!bi}).map(function(oi){var bi=oi.manager;return bi})),!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(oi,bi,Ti){var Si=oi.map(function(At){if(isArray$2(At)){var ii=ue(At,bi),gi=[ii.pos1,ii.pos2,ii.pos3,ii.pos4];return re.push(ii),{poses:gi,rotation:ii.rotation}}else return{poses:getAbsolutePosesByState(At.state),rotation:At.getRotation()}}),ni=Si.map(function(At){var ii=At.rotation;return ii}),fi=0,si=ni[0],_i=ni.every(function(At){return Math.abs(si-At)<.1});ae?fi=!oe&&_i?si:le:fi=!oe&&!Ti&&_i?si:bi;var Pt=Si.map(function(At){var ii=At.poses;return ii}),Lt=getGroupRect(Pt,fi);return Lt}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,_e=this.rotation,Ce=this.scale,xe=he.width,Ie=he.height,Ne=he.minX,$e=he.minY,Oe=rotatePosesInfo([[0,0],[xe,0],[0,Ie],[xe,Ie]],convertTransformOriginArray(pe,xe,Ie),this.rotation/180*Math.PI),Fe=getMinMaxs(Oe.result),Et=Fe.minX,ze=Fe.minY,qe=" rotate(".concat(_e,"deg)")+" scale(".concat(sign(Ce[0]),", ").concat(sign(Ce[1]),")"),Ve="translate(".concat(-Et,"px, ").concat(-ze,"px)").concat(qe);this.controlBox.style.transform="translate3d(".concat(Ne,"px, ").concat($e,"px, ").concat(this.props.translateZ||0,")"),z.style.cssText+="left:0px;top:0px;"+"transform-origin:".concat(pe,";")+"width:".concat(xe,"px;height:").concat(Ie,"px;")+"transform: ".concat(Ve),y.width=xe,y.height=Ie;var kt=this.getContainer(),Ue=getMoveableTargetInfo(this.controlBox,z,this.controlBox,this.getContainer(),this._rootContainer||kt,[]),Dt=[Ue.left,Ue.top],jt=__read$1(getAbsolutePosesByState(Ue),4),ei=jt[0],ti=jt[1],hi=jt[2],ui=jt[3],mi=getMinMaxs([ei,ti,hi,ui]),pi=[mi.minX,mi.minY],ri=sign(Ce[0]*Ce[1]);Ue.pos1=minus(ei,pi),Ue.pos2=minus(ti,pi),Ue.pos3=minus(hi,pi),Ue.pos4=minus(ui,pi),Ue.left=Ne-Ue.left+pi[0],Ue.top=$e-Ue.top+pi[1],Ue.origin=minus(plus(Dt,Ue.origin),pi),Ue.beforeOrigin=minus(plus(Dt,Ue.beforeOrigin),pi),Ue.originalBeforeOrigin=plus(Dt,Ue.originalBeforeOrigin),Ue.transformOrigin=minus(plus(Dt,Ue.transformOrigin),pi),z.style.transform="translate(".concat(-Et-pi[0],"px, ").concat(-ze-pi[1],"px)")+qe,setStoreCache(),this.updateState(__assign$6(__assign$6({},Ue),{posDelta:pi,direction:ri,beforeDirection:ri}),r)},e.prototype.getRect=function(){return __assign$6(__assign$6({},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$3(__spreadArray$3([],__read$1(i),!1),__read$1(k),!1)},[]);return t},e.prototype.getMoveables=function(){return __spreadArray$3([],__read$1(this.moveables),!1)},e.prototype.updateAbles=function(){n.prototype.updateAbles.call(this,__spreadArray$3(__spreadArray$3([],__read$1(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,z=k.changed,V=k.removed,j=L.length||V.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%")||z.length||y.length&&!isDeepArrayEquals(this._targetGroups,i.targetGroups||[]))&&(this.updateRect(),this._hasFirstTargets=!0),this._isPropTargetChanged=!!j},e.prototype._updateObserver=function(){},e.defaultProps=__assign$6(__assign$6({},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$7(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||[],z=L.length,V=this.isUnmounted||!z,j=(i=k==null?void 0:k.children)!==null&&i!==void 0?i:[];return V&&!z&&j.length?L=j.map(function(){return null}):V||(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$6({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$6(__assign$6({},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$6(__assign$6({},i),{isInstant:!1}),!1)}),y=r||i.isInstant,k={request:function(L){return g.forEach(function(z){return z.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(),z=y.getDragElement();return!k||!z?!1:z===r||z.contains(r)||z!==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$3([],__read$1(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$2(i)){e[i]&&t.push.apply(t,__spreadArray$3([],__read$1(e[i]),!1));return}isArray$2(i)?t.push.apply(t,__spreadArray$3([],__read$1(getElementTargets(i,e)),!1)):t.push(i)}}),t}function getTargetGroups(n,e){var t=[];return n.forEach(function(i){if(i){if(isString$2(i)){e[i]&&t.push.apply(t,__spreadArray$3([],__read$1(e[i]),!1));return}isArray$2(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$2(t)&&isArray$2(r)?compareRefTargets(t,r):!0:!1})}var InitialMoveable=function(n){__extends$7(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$1,MOVEABLE_CSS+r))},e.getTotalAbles=function(){return __spreadArray$3([Default,Groupable,IndividualGroupable,DragArea],__read$1(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$1(this._updateRefs(!0),2),z=L[0],V=L[1],j=getElementTargets(z,V),ie=j.length>1,oe=i.getTotalAbles(),re=__spreadArray$3(__spreadArray$3([],__read$1(oe),!1),__read$1(g||[]),!1),ae=__assign$6(__assign$6(__assign$6({},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$6({key:"individual-group",ref:ref(this,"moveable")},ae,{target:null,targets:j}));if(ie){var he=getTargetGroups(z,V);if(de&&!de.props.groupable&&!de.props.individualGroupable){var pe=de.props.target;pe&&j.indexOf(pe)>-1&&(le=__assign$6({},de.state))}return createElement(MoveableGroup,__assign$6({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 _e=j[0];if(de&&(de.props.groupable||de.props.individualGroupable)){var Ce=de.moveables||[],xe=find$1(Ce,function(Ie){return Ie.props.target===_e});xe&&(le=__assign$6({},xe.state))}return createElement(MoveableManager$1,__assign$6({key:"single",ref:ref(this,"moveable")},ae,{target:_e,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 z(V){if(isString$2(V)){var j=k[V];j?L[V]=k[V]:g&&(y=!0,L[V]=[].slice.call(document.querySelectorAll(V)))}else isArray$2(V)&&V.forEach(z)}),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 z=__read$1(this._updateRefs(),3),V=z[0],j=z[1],ie=z[2];this.refTargets=V,this.selectorMap=j,ie&&this.forceUpdate()},e.defaultAbles=[],e.customStyledMap={},e.defaultStyled=null,__decorate$3([withMethods(MOVEABLE_METHODS)],e.prototype,"moveable",void 0),e}(PureComponent),Moveable$1=function(n){__extends$7(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.defaultAbles=MOVEABLE_ABLES,e}(InitialMoveable),extendStatics$6=function(n,e){return extendStatics$6=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$6(n,e)};function __extends$6(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$6(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __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}var InnerMoveable=function(n){__extends$6(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$5({ref:ref(this,"moveable")},this.state))},e}(Component$1),PROPERTIES$3=MOVEABLE_PROPS,METHODS$2=MOVEABLE_METHODS,EVENTS$2=MOVEABLE_EVENTS,MoveableManager=function(n){__extends$6(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$5({},r),k={};EVENTS$2.forEach(function(V){k[camelize$1("on ".concat(V))]=function(j){return g.trigger(V,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$5({ref:ref(g,"innerMoveable")},y,k)),L),g.selfElement=L;var z=y.target;return isArray$2(z)&&z.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$2([Properties(METHODS$2,function(i,r){i[r]||(i[r]=function(){for(var g=[],y=0;y1&&this.trigger("".concat(i,".").concat(L.join(".")),k)},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 __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 __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(Object.keys(i)),k=y.next();!k.done;k=y.next()){var L=k.value;this[L]=i[L]}}catch(z){r={error:z}}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=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$2(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$2(n)&&"current"in n&&"subscribe"in n&&"unsubscribe"in n}function __spreadArray$2(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(z){var V=__spreadArray$2(__spreadArray$2([],k,!0),[z],!1),j=g(__spreadArray$2(__spreadArray$2([],y,!0),[z],!1),V);(!j||!j.length)&&i.push(__spreadArray$2(__spreadArray$2([],k,!0),[z],!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$2(__spreadArray$2([],y,!0),k,!0))}),g},n.prototype.splice=function(e,t,i){for(var r=[],g=3;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}function __spreadArray$1(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="__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$2(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,"("),z=")".concat(r);return isPropertyObject(g)&&(k=g.separator,y=g.value,L+=g.prefix,z=g.suffix+z),new PropertyObject(y,{separator:k,model:t,prefix:L,suffix:z})}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$2(n))return isArray$2(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$2(n))return ARRAY;if(isPropertyObject(n))return PROPERTY}else if(e===STRING||e===NUMBER)return"value";return e}function isPureObject(n){return isObject$3(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$3(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$1("get ".concat(g))]=function(){return this[t][g]}}),e.forEach(function(g){r[camelize$1("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$1(__spreadArray$1([],ANIMATOR_SETTERS,!0),[EASING,EASING_NAME],!1),Animator=function(n){__extends$3(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],z=k[DELAY],V=i?t:this.getUnitTime(t);k[TICK_TIME]=z+V,V<0?V=0:V>y&&(V=y),k[CURRENT_TIME]=V,this.calculate();var j=i&&!r,ie=k[TICK_TIME],oe=isString$2(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&&(z=y*(ie?i%1||1:0),V&&(z=y-z))}return this.setIterationTime(z),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],z=g[TICK_TIME],V=z+Math.min(1e3,t-k)/1e3*y;g[PREV_TIME]=t,i&&i>=V?(this.setTime(i-L,!0),this.pause()):this.setTime(V-L,!0),g[PLAY_STATE]!==PAUSED&&(this.timerId=requestAnimationFrame$1(function(j){r.tick(j,i)}))}},e=__decorate$1([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$1([i],r):r:g===ARRAY?n[i]=r.slice():g===OBJECT?isObject$3(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$1(n,e){var t=getType(e);if(t===PROPERTY)return e.toValue();if(t===FUNCTION){if(n[0]!==TIMING_FUNCTION)return getValue$1(n,e())}else if(t===OBJECT)return clone(e,!0);return e}var Frame=function(n){__extends$3(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),z=y,V=0;V<3;++V)L[V]=parseInt(L[V],10);var j=new PropertyObject(L,{type:"color",model:z,prefix:"".concat(z,"("),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)),z=splitUnit("".concat(e)),V;if(isNaN(L.value)||isNaN(z.value))return n;V=dot$1(L.value,z.value,t,i);var j=L.prefix||z.prefix,ie=L.unit||z.unit;return!j&&!ie?V:j+V+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=V*oe+(re?V-he[0]:he[0]),_e=dot$1(he[1],de,ie-pe,ue-ie);addEntry(i,(y+V*g)/k,_e)}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$3(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(z){var V=toFixed(z*r);return L[V]=k[z],V}),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$2(V))V.forEach(function(_e){i.set(ie,_e)});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],z=k[1],V=this.getEasing()||i,j=this.nameMap;if(this.hasName([TIMING_FUNCTION])){var ie=this.getNowValue(t,[TIMING_FUNCTION],L,z,!1,0,!0);isFunction$3(ie)&&(V=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,z,r,V,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$2(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(),z=toId(getRealId(this)),V=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=V[FILL_MODE],ue=L[j][DIRECTION],he=makeAnimationProperties({fillMode:de,direction:ue,iterationCount:le,delay:"".concat(re,"s"),name:"".concat(PREFIX,"KEYFRAMES_").concat(z),duration:"".concat(oe/V[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,""]}),_e=t.className,Ce=t.selector,xe=isFunction$3(Ce)?Ce(this,y):Ce;return"\n ".concat(xe||pe.map(function(Ie){var Ne=Ie[0],$e=Ie[1];return"".concat(Ne,".").concat(_e).concat($e)})," {").concat(he,"}\n ").concat(pe.map(function(Ie){var Ne=Ie[0],$e=Ie[1];return"".concat(Ne,".").concat(PAUSE_ANIMATION).concat($e)})," {").concat(ANIMATION,"-play-state: paused;}\n @").concat(KEYFRAMES," ").concat(PREFIX,"KEYFRAMES_").concat(z,"{").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 z=this.times,V=z.length,j,ie,oe,re,ae=isUndefined$2(r),le=isUndefined$2(g);if(ae||le){var de=getNearTimeIndex(z,t);ae&&(r=de[0]),le&&(g=de[1])}for(var ue=r;ue>=0;--ue){var he=this.getFrame(z[ue]);if(he.has.apply(he,i)){j=z[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=ii||NiFe[1])){var Mi=Bi===0?_i:Bi%2===0?Pt:Lt,ji=0;switch(xe){case"start":ji=0;break;case"center":ji=Ai/2-Mi/2;break;case"end":ji=Ai-Mi;break}var hn=bi?[di+At[0],ji+At[1]]:[ji+At[0],di+At[1]],kn=hn[0],xn=hn[1],$n=bi?[kn,xn+Mi]:[kn+Mi,xn],Gn=$n[0],Mn=$n[1];oi.moveTo(kn+At[0],xn+At[1]),oi.lineTo(Gn+At[0],Mn+At[1])}}}oi.stroke(),oi.beginPath(),oi.strokeStyle=hi,oi.lineWidth=1,(V||[]).forEach(function(bn){var Ri=(-L+bn)*y;if(!(Ri<0||Ri>=ii||bnFe[1])){var li=bi?[Ri+At[0],At[1]]:[At[0],Ri+At[1]],ai=li[0],vi=li[1],wi=bi?[ai,vi+si]:[ai+si,vi],ki=wi[0],$i=wi[1];oi.moveTo(ai+At[0],vi+At[1]),oi.lineTo(ki+At[0],$i+At[1])}}),oi.stroke(),Vi.forEach(function(bn){var Ri=bn.value,li=bn.offset,ai=bn.backgroundColor,vi=bn.color,wi=bn.text,ki=bn.textSize;if(!(!Ti&&Ri<0)){var $i=(Ri-L)*y;if(!($i<-gi||$i>=ii+le*y||RiFe[1])){var Oi=0;switch(xe){case"start":Oi=17;break;case"center":Oi=Ai/2;break;case"end":Oi=Ai-17;break}var Wi=bi?[$i+xi*-3,Oi]:[Oi,$i+xi*3],Gi=Wi[0],_n=Wi[1];if(ai){var Cn=0;switch(ni){case"left":Cn=0;break;case"center":Cn=-ki/2;break;case"right":Cn=-ki;break}oi.save(),oi.fillStyle=ai,bi?oi.fillRect(Gi+li[0]+Cn,0,ki,_i):(oi.translate(0,_n+li[1]),oi.rotate(-Math.PI/2),oi.fillRect(Cn,0,ki,_i)),oi.restore()}oi.save(),oi.fillStyle=vi,bi?oi.fillText(wi,Gi+li[0],_n+li[1]):(oi.translate(Gi+li[0],_n+li[1]),oi.rotate(-Math.PI/2),oi.fillText(wi,0,0)),oi.restore()}}}),oi.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]>V.top||yj[1])&&(ie[1]=1),V.left>g-L?(j[0]>V.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,z=L===void 0?0:L,V=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:V}),z&&j&&(clearTimeout(this._timer),this._timer=window.setTimeout(function(){r._continueDrag(i)},z)),!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,z=i.throttleTime,V=i.useScroll,j=i.isDrag,ie=i.inputEvent;if(!(!this._flag||j&&this._isWait)){var oe=now(),re=Math.max(z+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,V||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:z,index:j.length,isAdd:!0,isRemove:!1,isChange:!1})});else{var _e=parseFloat(y.target.getAttribute("data-index")),Ce=!1,xe=!1;j=__spreadArray([],j,!0);var Ie=j.indexOf(he);if(k||he-1&&Ie!==_e){if(le&&(le===!0||le.indexOf("remove")>-1))return;j.splice(_e,1),Ce=!0}else{if(Ie>-1)return;if(le&&(le===!0||le.indexOf("change")>-1))return;j[_e]=he,xe=!0}r.setState({guides:j},function(){var Ne=r.state.guides;oe({distX:L,distY:z,guides:Ne,isAdd:!1,index:_e,isChange:xe,isRemove:Ce})})}},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,z=i.rulerStyle,V=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:z},de)),createElement("div",{className:GUIDES,ref:ref(this,"guidesElement"),style:{transform:"".concat(le,"(").concat(-this.scrollPos*this._guidesZoom,"px)")}},V&&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,z=g.displayGuidePos,V=g.guidePosStyle,j=V===void 0?{}:V,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)")})},z&&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 z=r.inputEvent,V=z.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(V===ie){if(ue){r.stop();return}j.fromRuler=!0,j.target=i.adderElement}else if(hasClass$1(V,GUIDE)){if(he&&pe){r.stop();return}j.target=V}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(z,V){if(z){var j=k[V]+(L||0);z.style.transform="".concat(g,"(").concat(j*r,"px) translateZ(0px)"),z.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,z=k.snaps,V=k.snapThreshold,j=k.displayDragPos,ie=k.digit,oe=k.guidesOffset||0,re=this._guidesZoom,ae=k.dragPosFormat||function(Oe){return Oe},le=L==="horizontal",de=calculateMatrixDist(r.matrix,[g,y]),ue=r.offsetPos,he=de[0]+ue[0],pe=de[1]+ue[1],_e=oe*re,Ce=Math.round(le?pe:he)-oe,xe=parseFloat((Ce/re).toFixed(ie||0)),Ie=z.slice().sort(function(Oe,Fe){return Math.abs(xe-Oe)-Math.abs(xe-Fe)});if(Ie.length&&Math.abs(Ie[0]*re-Ce)=0;k--)(y=n[k])&&(g=(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$1);/*! ***************************************************************************** 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$1("on ".concat(L))]=function(z){return g.trigger(L,z)}});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(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||{});const getParents=(n,e)=>{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=(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,z;let t=0,i=e.clientHeight;const r=Array.from(((L=e.parentNode)==null?void 0:L.children)||[]).filter(V=>{var j;return!((j=getIdFromEl()(V))!=null&&j.startsWith(GHOST_EL_ID_PREFIX))}),g=r.indexOf(e),y=r.slice(g+1);for(let V=0;V-1?getIdFromEl()(y[t])||"":k}},up=(n,e)=>{var L;const t=Array.from(((L=e.parentNode)==null?void 0:L.children)||[]).filter(z=>{var V;return!((V=getIdFromEl()(z))!=null&&V.startsWith(GHOST_EL_ID_PREFIX))}),i=t.indexOf(e),r=t.slice(0,i);let g=e.clientHeight,y=r.length-1;for(let z=r.length-1;z>=0;z--){const V=r[z];if(V&&V.style.position!=="fixed"){if(g+=V.clientHeight/2,-n<=g)break;g+=V.clientHeight/2,y=z}}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){Ci(this,"el");Ci(this,"els",[]);Ci(this,"idPrefix","target_calibrate_".concat(guid()));Ci(this,"container");Ci(this,"scrollLeft",0);Ci(this,"scrollTop",0);Ci(this,"zIndex");Ci(this,"updateDragEl");Ci(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){Ci(this,"targetShadow");Ci(this,"target",null);Ci(this,"targetList",[]);Ci(this,"moveableHelper");Ci(this,"ghostEl");Ci(this,"frameSnapShot",{left:0,top:0});Ci(this,"framesSnapShot",[]);Ci(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:V,marginTop:j}=getMarginValue(this.target);this.target.style.left="".concat(this.frameSnapShot.left+g[0]-V,"px"),this.target.style.top="".concat(this.frameSnapShot.top+g[1]-j,"px")}const{borderLeftWidth:y,borderRightWidth:k,borderTopWidth:L,borderBottomWidth:z}=getBorderWidth(this.target);this.target.style.width="".concat(t+y+k,"px"),this.target.style.height="".concat(i+L+z,"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(V=>{var j;return V.id===((j=getIdFromEl()(i.target))==null?void 0:j.replace(DRAG_EL_ID_PREFIX,""))});if(!k)return;const L=this.targetList.find(V=>{var j;return getIdFromEl()(V)===((j=getIdFromEl()(i.target))==null?void 0:j.replace(DRAG_EL_ID_PREFIX,""))});if(!L)return;if(!this.targetList.find(V=>getIdFromEl()(V)===getIdFromEl()(L.parentElement))){const{marginLeft:V,marginTop:j}=getMarginValue(L);L.style.left="".concat(k.left+y[0]-V,"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 z,V;return((z=getIdFromEl()(i.target))==null?void 0:z.startsWith(DRAG_EL_ID_PREFIX))&&((V=getIdFromEl()(i.target))==null?void 0:V.endsWith(L.id))});if(!r)return;const g=L=>{const z=getIdFromEl(),V=z(i.target),j=z(L);return(V==null?void 0:V.startsWith(DRAG_EL_ID_PREFIX))&&j&&(V==null?void 0:V.endsWith(j))},y=this.targetList.find(g);if(!y)return;if(!this.targetList.find(L=>getIdFromEl()(L)===getIdFromEl()(y.parentElement))){const{marginLeft:L,marginTop:z}=getMarginValue(y);y.style.left="".concat(r.left+i.beforeTranslate[0]-L,"px"),y.style.top="".concat(r.top+i.beforeTranslate[1]-z,"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:z,borderRightWidth:V,borderTopWidth:j,borderBottomWidth:ie}=getBorderWidth(e),oe=calcValueByFontsize(i,e.clientWidth+z+V),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),[_e,Ce]=pe==null?void 0:pe.properties.transform.translate.value,{left:xe,top:Ie}=getOffset$1(t);k=calcValueByFontsize(i,ue)+parseFloat(_e)-calcValueByFontsize(i,xe),L=calcValueByFontsize(i,he)+parseFloat(Ce)-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(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}}const ableCss='.moveable-button {\n width: 20px;\n height: 20px;\n background: #4af;\n border-radius: 4px;\n appearance: none;\n border: 0;\n color: white;\n font-size: 12px;\n font-weight: bold;\n margin-left: 2px;\n position: relative;\n cursor: pointer;\n}\n.moveable-remove-button:before, .moveable-remove-button:after {\n content: "";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%) rotate(45deg);\n width: 14px;\n height: 2px;\n background: #fff;\n border-radius: 1px;\n cursor: pointer;\n}\n.moveable-remove-button:after {\n transform: translate(-50%, -50%) rotate(-45deg);\n}\n\n.moveable-select-parent-arrow-top-icon {\n transform: rotateZ(-45deg);\n width: 4px;\n height: 4px;\n border-color: #fff;\n border-width: 2px 2px 0 0;\n border-style: solid;\n position: absolute;\n left: 4px;\n top: 4px;\n}\n\n.moveable-select-parent-arrow-body-icon {\n width: 7px;\n height: 11px;\n border-color: #fff;\n border-width: 0 0 2px 2px;\n border-style: solid;\n}\n\n.moveable-drag-area-button {\n cursor: move;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon {\n width: 2px;\n height: 2px;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-top {\n transform: rotateZ(-45deg) translateX(-50%);\n left: 50%;\n top: 3px;\n transform-origin: left;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-bottom {\n transform: rotateZ(135deg) translateX(-50%);\n transform-origin: left;\n left: 50%;\n top: auto;\n bottom: 3px;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-right {\n transform: rotateZ(45deg) translateY(-50%);\n transform-origin: top;\n right: 3px;\n left: auto;\n top: 50%;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-left {\n transform: rotateZ(235deg) translateY(-50%);\n transform-origin: top;\n left: 3px;\n top: 50%;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-body-icon-horizontal {\n width: 2px;\n height: 11px;\n background-color: #fff;\n position: absolute;\n transform: translateX(-50%);\n left: 50%;\n top: 4px;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-body-icon-vertical {\n width: 11px;\n height: 2px;\n background-color: #fff;\n position: absolute;\n transform: translateY(-50%);\n left: 4px;\n top: 50%;;\n}\n\n.moveable-rerender-button img {\n position: absolute;\n left: 2px;\n top: 2px;\n}\n',MoveableActionsAble=(n,e=[])=>({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();Ci(this,"mode",Mode.ABSOLUTE);Ci(this,"container");Ci(this,"options",{});Ci(this,"horizontalGuidelines",[]);Ci(this,"verticalGuidelines",[]);Ci(this,"elementGuidelines",[]);Ci(this,"customizedOptions");Ci(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:z,top:V}=getOffset$1(y),j=globalThis.document.createElement("div");j.style.cssText="position: absolute;width: ".concat(k,"px;height: ").concat(L,"px;top: ").concat(V,"px;left: ").concat(z,"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);Ci(this,"target",null);Ci(this,"moveable");Ci(this,"dragStatus",StageDragStatus.END);Ci(this,"dragResizeHelper");Ci(this,"disabledDragStart");Ci(this,"getRenderDocument");Ci(this,"markContainerEnd");Ci(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();Ci(this,"container");Ci(this,"target");Ci(this,"moveable");Ci(this,"targetShadow");Ci(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);Ci(this,"container");Ci(this,"targetList",[]);Ci(this,"moveableForMulti");Ci(this,"dragStatus",StageDragStatus.END);Ci(this,"dragResizeHelper");Ci(this,"getRenderDocument");Ci(this,"delayedMarkContainer");Ci(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 z=(L=getIdFromEl()(y))==null?void 0:L.replace(DRAG_EL_ID_PREFIX,"");z&&this.emit("change-to-select",z,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();Ci(this,"dr",null);Ci(this,"multiDr",null);Ci(this,"highlightLayer",null);Ci(this,"container");Ci(this,"selectedEl",null);Ci(this,"selectedElList",[]);Ci(this,"highlightedEl");Ci(this,"isMultiSelectStatus",!1);Ci(this,"containerHighlightClassName");Ci(this,"containerHighlightDuration");Ci(this,"containerHighlightType");Ci(this,"isAltKeydown",!1);Ci(this,"getTargetElement");Ci(this,"getElementsFromPoint");Ci(this,"canSelect");Ci(this,"isContainer");Ci(this,"getRenderDocument");Ci(this,"disabledMultiSelect",!1);Ci(this,"config");Ci(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));Ci(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)}})()});Ci(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)});Ci(this,"mouseLeaveHandler",t=>{setTimeout(()=>this.clearHighlight(),throttleTime),this.emit("mouseleave",t)});Ci(this,"mouseWheelHandler",()=>{this.clearHighlight()});Ci(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:t.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:t.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))}}const guidesClass="tmagic-stage-guides";class Rule extends EventEmitter$3{constructor(t,i){super();Ci(this,"hGuides");Ci(this,"vGuides");Ci(this,"horizontalGuidelines",[]);Ci(this,"verticalGuidelines",[]);Ci(this,"container");Ci(this,"containerResizeObserver");Ci(this,"isShowGuides",!0);Ci(this,"guidesOptions");Ci(this,"getGuidesStyle",t=>({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%"}));Ci(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});Ci(this,"hGuidesChangeGuidesHandler",t=>{this.horizontalGuidelines=t.guides,this.emit("change-guides",{type:GuidesType.HORIZONTAL,guides:this.horizontalGuidelines})});Ci(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);Ci(this,"content",createContent());Ci(this,"wrapper");Ci(this,"page",null);Ci(this,"scrollTop",0);Ci(this,"scrollLeft",0);Ci(this,"width",0);Ci(this,"height",0);Ci(this,"wrapperHeight",0);Ci(this,"wrapperWidth",0);Ci(this,"maxScrollTop",0);Ci(this,"maxScrollLeft",0);Ci(this,"mode",Mode.ABSOLUTE);Ci(this,"pageScrollParent",null);Ci(this,"intersectionObserver",null);Ci(this,"wrapperResizeObserver",null);Ci(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))}}));Ci(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)}));Ci(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();Ci(this,"container");Ci(this,"renderer",null);Ci(this,"mask",null);Ci(this,"actionManager",null);Ci(this,"pageResizeObserver",null);Ci(this,"autoScrollIntoView");Ci(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,z,V;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)),(z=this.actionManager)==null||z.select(r,i),r&&(this.autoScrollIntoView||r.dataset.autoScrollIntoView)&&((V=this.mask)==null||V.observerIntersection(r)))}async multiSelect(t){var y,k,L,z;const i=t.map(V=>{var j;return(j=this.renderer)==null?void 0:j.getTargetElement(V)}).filter(V=>!!V);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 isDate$1=n=>n instanceof Date,isEmpty$1=n=>Object.keys(n).length===0,isObject$1=n=>n!=null&&typeof n=="object",hasOwnProperty$1=(n,...e)=>Object.prototype.hasOwnProperty.call(n,...e),isEmptyObject=n=>isObject$1(n)&&isEmpty$1(n),makeObjectWithoutPrototype=()=>Object.create(null),addedDiff=(n,e)=>n===e||!isObject$1(n)||!isObject$1(e)?{}:Object.keys(e).reduce((t,i)=>{if(hasOwnProperty$1(n,i)){const r=addedDiff(n[i],e[i]);return isObject$1(r)&&isEmpty$1(r)||(t[i]=r),t}return t[i]=e[i],t},makeObjectWithoutPrototype()),deletedDiff=(n,e)=>n===e||!isObject$1(n)||!isObject$1(e)?{}:Object.keys(n).reduce((t,i)=>{if(hasOwnProperty$1(e,i)){const r=deletedDiff(n[i],e[i]);return isObject$1(r)&&isEmpty$1(r)||(t[i]=r),t}return t[i]=void 0,t},makeObjectWithoutPrototype()),updatedDiff=(n,e)=>n===e?{}:!isObject$1(n)||!isObject$1(e)?e:isDate$1(n)||isDate$1(e)?n.valueOf()==e.valueOf()?{}:e:Object.keys(e).reduce((t,i)=>{if(hasOwnProperty$1(n,i)){const r=updatedDiff(n[i],e[i]);return isEmptyObject(r)&&!isDate$1(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)}),_hoisted_1$10=["src"],_sfc_main$1r$1=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$o$3),{key:1,class:"magic-editor-icon"},{default:withCtx(()=>[createBaseVNode("img",{src:t.icon},null,8,_hoisted_1$10)]),_:1})):typeof t.icon=="string"?(openBlock(),createElementBlock("i",{key:2,class:normalizeClass(["magic-editor-icon",t.icon])},null,2)):(openBlock(),createBlock(unref(_sfc_main$o$3),{key:3,class:"magic-editor-icon"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(toRaw(t.icon))))]),_:1})):(openBlock(),createBlock(unref(_sfc_main$o$3),{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];emmetHTML(monaco);emmetCSS(monaco,["css","scss"]);const _hoisted_1$$={class:normalizeClass("magic-code-editor")},_hoisted_2$n={ref:"codeEditor",class:"magic-code-editor-content"},_sfc_main$1q$1=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=(he,pe)=>{let _e;return typeof he!="string"?pe==="json"?_e=JSON.stringify(he,null,2):_e=serialize(he,{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: "):_e=he,pe==="javascript"&&_e.startsWith("{")&&_e.endsWith("}")&&(_e="(".concat(_e,")")),_e},y=(he,pe)=>typeof he!="string"?he:pe==="json"?JSON.parse(he):getEditorConfig("parseDSL")(he);let k=null,L=null;const z=ref$1(""),V=ref$1(!1),j=useTemplateRef("codeEditor"),ie=new globalThis.ResizeObserver(throttle$2(()=>{k==null||k.layout(),L==null||L.layout()},300)),oe=(he,pe)=>{if(z.value=g(he,i.language.toLocaleLowerCase()),i.type==="diff"){const xe=editor.createModel(z.value,"text/javascript"),Ie=editor.createModel(g(pe,i.language),"text/javascript"),Ne=L==null?void 0:L.getPosition(),$e=L==null?void 0:L.setModel({original:xe,modified:Ie});return Ne&&(L==null||L.setPosition(Ne),L==null||L.focus()),$e}const _e=k==null?void 0:k.getPosition(),Ce=k==null?void 0:k.setValue(z.value);return _e&&(k==null||k.setPosition(_e),k==null||k.focus()),Ce},re=()=>(i.type==="diff"?L==null?void 0:L.getModifiedEditor().getValue():k==null?void 0:k.getValue())||"",ae=he=>{if(he.keyCode===83&&(navigator.platform.match("Mac")?he.metaKey:he.ctrlKey)){he.preventDefault(),he.stopPropagation();const pe=re();z.value=pe,r("save",i.parse?y(pe,i.language):pe)}},le=async()=>{if(!j.value)return;j.value.clientHeight===0&&await nextTick();const he={value:z.value,language:i.language,theme:"vs-dark",...i.options};i.type==="diff"?L=getEditorConfig("customCreateMonacoDiffEditor")(monaco,j.value,he):k=getEditorConfig("customCreateMonacoEditor")(monaco,j.value,he),oe(i.initValues,i.modifiedValues),r("initd",k),j.value.addEventListener("keydown",ae),i.type!=="diff"&&i.autoSave&&(k==null||k.onDidBlurEditorWidget(()=>{const pe=re();z.value!==pe&&(z.value=pe,r("save",i.parse?y(pe,i.language):pe))})),ie.observe(j.value)};watch(()=>i.initValues,(he,pe)=>{he!==pe&&oe(i.initValues,i.modifiedValues)},{deep:!0,immediate:!0}),watch(()=>i.options,he=>{k==null||k.updateOptions(he),L==null||L.updateOptions(he)},{deep:!0}),onMounted(async()=>{V.value=!0,await le(),V.value=!1}),onBeforeUnmount(()=>{ie.disconnect(),k==null||k.dispose(),L==null||L.dispose(),k=null,L=null}),onUnmounted(()=>{var he;(he=j.value)==null||he.removeEventListener("keydown",ae)});const de=ref$1(!1),ue=()=>{de.value=!de.value,setTimeout(()=>{k==null||k.focus(),k==null||k.layout(),L==null||L.focus(),L==null||L.layout()})};return e({values:z,getEditor(){return k||L},getVsEditor(){return k},getVsDiffEditor(){return L},setEditorValue:oe,getEditorValue:re,focus(){k==null||k.focus(),L==null||L.focus()}}),(he,pe)=>(openBlock(),createElementBlock("div",_hoisted_1$$,[(openBlock(),createBlock(Teleport$1,{to:"body",disabled:!de.value},[createBaseVNode("div",{class:normalizeClass("magic-code-editor-wrapper".concat(de.value?" full-screen":"")),style:normalizeStyle(!de.value&&he.height?"height: ".concat(he.height):"100%")},[he.disabledFullScreen?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"magic-code-editor-full-screen-icon",circle:"",size:"small",onClick:ue},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(full_screen_default)},null,8,["icon"])]),_:1})),createBaseVNode("div",_hoisted_2$n,null,512)],6)],8,["disabled"]))]))}}),_sfc_main$1p$1=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$1q$1,{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$1o$1=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 z=resolveComponent("m-fields-link");return openBlock(),createBlock(z,{config:r.value,model:g,name:"form",onChange:y},null,8,["config","model"])}}}),useServices=()=>{const n=inject("services");if(!n)throw new Error("services is required");return n},_sfc_main$1n$1=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:z,index:V})=>{if(z.codeType===HookCodeType.DATA_SOURCE_METHOD){if(Array.isArray(z.codeId)){if(z.codeId.length<2)return V;const j=i.getDataSourceById(z.codeId[0]);return"".concat(j==null?void 0:j.title," / ").concat(z.codeId[1])}return Array.isArray(z.codeId)?z.codeId.join("/"):V}return z.codeId||V},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,z,{setModel:V})=>(z===HookCodeType.DATA_SOURCE_METHOD?V("codeId",[]):V("codeId",""),z)},{type:"code-select-col",name:"codeId",span:18,labelWidth:0,display:(L,{model:z})=>z.codeType!==HookCodeType.DATA_SOURCE_METHOD,notEditable:()=>!r.getEditStatus()},{type:"data-source-method-select",name:"codeId",span:18,labelWidth:0,display:(L,{model:z})=>z.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,z)=>t("change",L,z);return(L,z)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["m-fields-code-select",L.config.className])},[createVNode(unref(_sfc_main$F$2),null,{default:withCtx(()=>[createVNode(unref(_sfc_main$x$2),{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:NODE_DISABLE_CODE_BLOCK_KEY,text:"禁用代码块",type:"switch",defaultValue:!1,extra:"开启后,配置的代码块将不会被执行"},{name:NODE_DISABLE_DATA_SOURCE_KEY,text:"禁用数据源",type:"switch",defaultValue:!1,extra:"开启后,组件内配置的数据源相关配置将不会被编译,显隐条件将失效"},{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)=>{};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$3(i)||(i=0);const{height:r}=e.style;let g=r;if(t.mask&&t.renderer){const{scrollTop:z=0,wrapperHeight:V}=t.mask;g=calcValueByFontsize(t.renderer.getDocument(),V);const j=calcValueByFontsize(t.renderer.getDocument(),z);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 z,V;const i=getNodePath(n.id,e.items),r=i.pop(),g={left:((z=r==null?void 0:r.style)==null?void 0:z.left)||0,top:((V=r==null?void 0:r.style)==null?void 0:V.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$3(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),z=calcValueByFontsize(t,i.offsetWidth);if(z+g>L)return L-z}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$5(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$5(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},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();Ci(this,"pluginOptionsList",{});Ci(this,"middleware",{});Ci(this,"taskList",[]);Ci(this,"doingTask",!1);t.forEach(({name:r,isAsync:g})=>{const y=this,k=y[r],L=methodName("before",r),z=methodName("after",r);this.pluginOptionsList[L]=[],this.pluginOptionsList[z]=[],this.middleware[r]=[];const V=compose$1(this.middleware[r],g);Object.defineProperty(y,r,{value:g?async(...j)=>{if(!i.includes(r))return doAsyncAction(j,y,k,L,z,V);const ie=new Promise((oe,re)=>{this.taskList.push(async()=>{try{const ae=await doAsyncAction(j,y,k,L,z,V);oe(ae)}catch(ae){re(ae)}})});return this.doingTask||this.doTask(),ie}:(...j)=>doAction(j,y,k,L,z,V)})})}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].includes(r)&&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}))]);Ci(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 z=await this.getPropsValue("button");return z.className="action-area",z.text="",z.style&&(z.style.backgroundColor="rgba(255, 255, 255, 0)"),z}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 z=g[L.id],V=getNodePath(z,i),j=V[V.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){Ci(this,"elementList");Ci(this,"listCursor");Ci(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([]);Ci(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})));Ci(this,"storage",globalThis.localStorage);Ci(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"]);Ci(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}));Ci(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$5(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,z,V,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=(V=(z=(L=(k=(y=this.get("stage"))==null?void 0:y.renderer)==null?void 0:k.runtime)==null?void 0:L.getApp)==null?void 0:z.call(L))==null?void 0:V.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 z,V;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);(z=i.items)==null||z.splice(j+1,0,t)}else(V=i.items)==null||V.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,...z}=t;if(!k)throw new Error("组件类型不能为空");g.push({...toRaw(await propsService.getPropsValue(k,z))})}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 z=i&&typeof i!="function"?i:getAddParent(k);if(!z)throw new Error("未找到父元素");return this.doAdd(k,z)}));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 V;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("找不要删除的节点");(V=r.items)==null||V.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())},z=i.items||[];isPage(t)?(this.state.pageLength-=1,await L(z)):isPageFragment(t)?(this.state.pageFragmentLength-=1,await L(z)):(await this.select(r),k==null||k.select(r.id),this.addModifiedNodeId(r.id)),z.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$5(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 z=L.items,V=getNodeIndex(k.id,L);if(!z||typeof V>"u"||V===-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)),z[V]=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 z;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(V=>"".concat(V.id)==="".concat(i));if(k<0)return;const L=y.items.findIndex(V=>"".concat(V.id)==="".concat(t));y.items.splice(k,0,...y.items.splice(L,1)),await this.update(y),await this.select(g),(z=this.get("stage"))==null||z.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(z=>{const V=get(L,z);if(!r.find(ie=>ie.id===V)){const ie=this.getNodeById(V);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,z,V,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=(z=(L=y==null?void 0:y.renderer)==null?void 0:L.contentWindow)==null?void 0:z.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$3((V=i.style)==null?void 0:V.width)&&isNumber$3((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)),z=await this.getLayout(r,g)===Layout.RELATIVE;let V;if(t===LayerOffset.TOP?V=z?0:y.length:t===LayerOffset.BOTTOM?V=z?y.length:0:V=k+(z?-t:t),V>0&&V>y.length||V<0)return;y.splice(k,1),y.splice(V,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 z;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 V=getNodeIndex(g.id,y);(z=y.items)==null||z.splice(V,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 z=this.get("page"),V=this.get("root"),j=this.get("stage");j&&z&&V&&j.update({config:cloneDeep(z),parentId:V.id,root:cloneDeep(V)}),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=z=>this.update({id:y,type:k,style:z});i&&(isNumber$3(g.top)?L({...g,top:Number(g.top)+Number(i),bottom:""}):isNumber$3(g.bottom)&&L({...g,bottom:Number(g.bottom)-Number(i),top:""})),t&&(isNumber$3(g.left)?L({...g,left:Number(g.left)+Number(t),right:""}):isNumber$3(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:z=0,offsetY:V=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)+z),(typeof he=="number"||he&&!isNaN(Number(he)))&&(oe.style.top=Number(he)+V),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,z,V;let{left:i=0,top:r=0}=n;const g=(V=(z=(L=editorService.get("stage"))==null?void 0:L.renderer)==null?void 0:z.contentWindow)==null?void 0:V.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((z,V)=>{if(V===0){k=n.find(j=>j.id===z),y+=(k==null?void 0:k.title)||z,L=k==null?void 0:k.fields;return}if(isNumber$3(z))y+="[".concat(z,"]");else{const j=L==null?void 0:L.find(ie=>ie.name===z);L=j==null?void 0:j.fields,y+=".".concat((j==null?void 0:j.title)||z)}}),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();Ci(this,"taskList",[]);Ci(this,"hightLevelTaskList",[]);Ci(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();Ci(this,"container");Ci(this,"target");Ci(this,"zoom",1);Ci(this,"scrollLeft",0);Ci(this,"scrollTop",0);Ci(this,"scrollHeight",0);Ci(this,"scrollWidth",0);Ci(this,"width",0);Ci(this,"height",0);Ci(this,"translateXCorrectionValue",0);Ci(this,"translateYCorrectionValue",0);Ci(this,"correctionScrollSize",{width:0,height:0});Ci(this,"resizeObserver",new ResizeObserver(()=>{this.setSize(),this.setScrollSize()}));Ci(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})});Ci(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$1m$1=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:z,extra:V,...j})=>({type:"data-source-field-select",name:L,text:z,extra:V,fieldConfig:j})))),k=async(L,z)=>{var V;try{const j=await((V=r.value)==null?void 0:V.submitForm(!0));i("change",j,z)}catch(j){error(j)}};return(L,z)=>(openBlock(),createBlock(unref(_sfc_main$d$2),{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$_={class:"m-fields-code-select-col"},_hoisted_2$m={class:"code-select-container"},_sfc_main$1l$1=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)),z=computed$1(()=>(r.get("sideBarItems")||[]).find(de=>de.$key===SideItemKey.CODE_BLOCK)),V=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(V(k.model[k.name]));watch(()=>k.model[k.name],(de,ue)=>{de!==ue&&(ie.value=V(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=V(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$_,[createBaseVNode("div",_hoisted_2$m,[createCommentVNode(" 代码块下拉框 "),createVNode(unref(_sfc_main$x$2),{class:"select",config:oe,model:de.model,size:de.size,onChange:re},null,8,["model","size"]),createCommentVNode(" 查看/编辑按钮 "),de.model[de.name]&&z.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{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$1r$1,{icon:L.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])):createCommentVNode("v-if",!0)]),createCommentVNode(" 参数填写框 "),ie.value.length?(openBlock(),createBlock(_sfc_main$1m$1,{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("v-if",!0)]))}}),_sfc_main$1k$1=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[z,...V]=[...r.config.parentFields||[],...r.model.field],j=i.getDataSourceById(z);let ie=(j==null?void 0:j.fields)||[],oe="";return(V||[]).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=z=>{t("change",z)};return(z,V)=>(openBlock(),createBlock(unref(_sfc_main$c$3),{modelValue:z.model[z.name],"onUpdate:modelValue":V[0]||(V[0]=j=>z.model[z.name]=j),clearable:"",filterable:"",size:z.size,disabled:z.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$Z={ref:"title",class:"m-editor-float-box-title"},_sfc_main$1j$1=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$1(),z=ref$1(0),V=ref$1(0),j=computed$1(()=>i.value?i.value-V.value:y.value?y.value.clientHeight-V.value:"auto"),{uiService:ie}=useServices(),oe=computed$1(()=>ie.get("frameworkRect").width||0),re=computed$1(()=>{let{left:_e}=g.position;return t.value&&(_e=_e+t.value>oe.value?oe.value-t.value:_e),{left:"".concat(_e,"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",_e=>{_e.target.style.transform=_e.transform}),ae.on("resize",_e=>{t.value=_e.width,i.value=_e.height,_e.target.style.width="".concat(_e.width,"px"),_e.target.style.height="".concat(_e.height,"px"),_e.target.style.transform=_e.drag.transform})},de=()=>{ae==null||ae.destroy(),ae=null};watch(r,async _e=>{var Ce;if(_e){await nextTick(),z.value=L.nextZIndex();const xe=(Ce=y.value)==null?void 0:Ce.getBoundingClientRect();if(xe&&(t.value=xe.width,i.value=xe.height,le()),k.value){const Ie=k.value.getBoundingClientRect();V.value=Ie.height}}else de()},{immediate:!0}),onBeforeUnmount(()=>{de()});const ue=_e=>{_e!==!1&&(r.value=!1)},he=()=>{typeof g.beforeClose=="function"?g.beforeClose(ue):ue()},pe=()=>{z.value=L.nextZIndex()};return provide("parentFloating",y),e({bodyHeight:j,target:y,titleEl:k}),(_e,Ce)=>r.value?(openBlock(),createBlock(Teleport$1,{key:0,to:"body"},[createBaseVNode("div",{ref:"target",class:"m-editor-float-box",style:normalizeStyle({...re.value,zIndex:z.value}),onMousedown:pe},[createBaseVNode("div",_hoisted_1$Z,[renderSlot(_e.$slots,"title",{},()=>[createBaseVNode("span",null,toDisplayString(_e.title),1)]),createBaseVNode("div",null,[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",onClick:he},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default)},null,8,["icon"])]),_:1})])],512),createBaseVNode("div",{class:"m-editor-float-box-body",style:normalizeStyle({height:"".concat(j.value,"px")})},[renderSlot(_e.$slots,"body")],4)],36)])):createCommentVNode("v-if",!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 z=await n.getCodeContentById(L);if(!z){tMagicMessage.error("获取代码块内容失败");return}let V=z.content;typeof V!="string"&&(V=V.toString()),e.value={...cloneDeep(z),content:V},t.value=L,await nextTick(),(j=i.value)==null||j.show()},deleteCode:async L=>{n.deleteCodeDslByIds([L])},submitCodeBlockHandler:async L=>{var z;t.value&&(await n.setCodeDslById(t.value,L),(z=i.value)==null||z.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((V,j)=>({...V,[j]:{status:!1,top:0,left:0}}),{})),i=computed$1(()=>Object.keys(t.value).filter(V=>t.value[V].status)),r={startOffset:{x:0,y:0},isDragging:!1},g=V=>{r.isDragging=!0,r.startOffset.x=V.clientX,r.startOffset.y=V.clientY},y=20,k=(V,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[V]={left:j.clientX,top:oe.top+oe.height,status:!0}}r.isDragging=!1},L=V=>{r.isDragging&&V.preventDefault()},z=()=>{r.startOffset.x=0,r.startOffset.y=0,r.isDragging=!1};return globalThis.document.body.addEventListener("dragover",L),globalThis.addEventListener("blur",z),onBeforeUnmount(()=>{globalThis.document.body.removeEventListener("dragover",L),globalThis.removeEventListener("blur",z)}),watch(()=>n.value,V=>{V.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 z=i(g,k);z&&L.length&&L.forEach(V=>{(g||g.length)&&updateStatus(e.value,V.id,{visible:z,expand:!0})}),updateStatus(e.value,k.id,{visible:z})})})};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$Y={class:"m-editor-data-source-fields"},_hoisted_2$l={class:"m-editor-data-source-fields-footer"},_sfc_main$1i$1=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},z=({index:Ie,...Ne},$e)=>{if(ue.value=!1,Ie>-1)i("change",Ne,{modifyKey:Ie,changeRecords:($e.changeRecords||[]).map(Oe=>({propPath:"".concat(t.prop,".").concat(Ie,".").concat(Oe.propPath),value:Oe.value}))});else{const Oe=t.model[t.name].length;i("change",Ne,{modifyKey:Oe,changeRecords:[{propPath:"".concat(t.prop,".").concat(Oe),value:Ne}]})}},V=[{label:"属性名称",prop:"title"},{label:"属性key",prop:"name"},{label:"属性描述",prop:"description"},{label:"默认值",prop:"defaultValue",formatter(Ie,Ne){try{return JSON.stringify(Ne.defaultValue)}catch($e){return error($e),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:$e})=>(["any","array","object"].includes(Ne)||$e("fields",[]),Ne)},{name:"name",text:"字段名称",rules:[{required:!0,message:"请输入字段名称"},{validator:({value:Ie,callback:Ne},{model:$e,parent:Oe})=>{const Fe=Oe.findIndex(Et=>Et.name===Ie);if($e.index===-1&&Fe>-1||$e.index>-1&&Fe>-1&&Fe!==$e.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 $e=[];return Object.entries(Ie).forEach(([Oe,Fe])=>{var Ve;const Et=ae(Fe),ze=Ne.find(kt=>kt.name===Oe);let qe=[];Array.isArray(Fe)&&Fe.length>0?qe=le(Fe[0],ze==null?void 0:ze.fields):Et==="object"&&(qe=le(Fe,ze==null?void 0:ze.fields)),$e.push({name:Oe,title:(ze==null?void 0:ze.title)||Oe,type:Et,description:(ze==null?void 0:ze.description)||"",enable:(Ve=ze==null?void 0:ze.enable)!=null?Ve:!0,defaultValue:Fe,fields:qe})}),$e},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(),_e=inject("parentFloating",ref$1(null)),{boxPosition:Ce,calcBoxPosition:xe}=useNextFloatBoxPosition(r,_e);return(Ie,Ne)=>(openBlock(),createElementBlock("div",_hoisted_1$Y,[createVNode(unref(_sfc_main$1K),{data:Ie.model[Ie.name],columns:V,border:!0},null,8,["data"]),createBaseVNode("div",_hoisted_2$l,[createVNode(unref(_sfc_main$G$2),{size:"small",disabled:Ie.disabled,plain:"",onClick:Ne[0]||(Ne[0]=$e=>re())},{default:withCtx(()=>[...Ne[8]||(Ne[8]=[createTextVNode("快速添加",-1)])]),_:1},8,["disabled"]),createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",disabled:Ie.disabled,plain:"",onClick:Ne[1]||(Ne[1]=$e=>L())},{default:withCtx(()=>[...Ne[9]||(Ne[9]=[createTextVNode("添加",-1)])]),_:1},8,["disabled"])]),createVNode(_sfc_main$1j$1,{visible:ue.value,"onUpdate:visible":Ne[2]||(Ne[2]=$e=>ue.value=$e),width:k.value,"onUpdate:width":Ne[3]||(Ne[3]=$e=>k.value=$e),height:unref(pe),"onUpdate:height":Ne[4]||(Ne[4]=$e=>isRef(pe)?pe.value=$e:null),title:y.value,position:unref(Ce)},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{"label-width":"80px",title:y.value,config:j,values:g.value,parentValues:Ie.model[Ie.name],disabled:Ie.disabled,onSubmit:z},null,8,["title","values","parentValues","disabled"])]),_:1},8,["visible","width","height","title","position"]),createVNode(_sfc_main$1j$1,{visible:he.value,"onUpdate:visible":Ne[5]||(Ne[5]=$e=>he.value=$e),width:k.value,"onUpdate:width":Ne[6]||(Ne[6]=$e=>k.value=$e),height:unref(pe),"onUpdate:height":Ne[7]||(Ne[7]=$e=>isRef(pe)?pe.value=$e:null),title:"快速添加数据定义",position:unref(Ce)},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{config:ie,values:oe.value,disabled:Ie.disabled,onSubmit:de},null,8,["values","disabled"])]),_:1},8,["visible","width","height","position"])]))}}),_hoisted_1$X={class:"m-editor-data-source-field-select"},_sfc_main$1h$1=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"),z=inject("eventBus"),V=computed$1(()=>y.get("dataSources")||[]),j=computed$1(()=>t.value==="key"),ie=computed$1(()=>filterFunction(L,t.notEditable,t)),oe=computed$1(()=>V.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,...$e]=Ie;re.value=Ne,ae.value=$e}else re.value="",ae.value=[]},{immediate:!0});const le=computed$1(()=>{const Ie=V.value.find(Ne=>Ne.id===removeDataSourceFieldPrefix(re.value));return Ie?getCascaderOptionsFromFields(Ie.fields,t.dataSourceFieldType):[]}),de=computed$1(()=>{var Ne;return(((Ne=V.value)==null?void 0:Ne.map($e=>({label:$e.title||$e.id,value:j.value?$e.id:"".concat(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX).concat($e.id),children:getCascaderOptionsFromFields($e.fields,t.dataSourceFieldType)})))||[]).filter($e=>$e.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)},_e=computed$1(()=>k.get("sideBarItems").find(Ie=>Ie.$key===SideItemKey.DATA_SOURCE)),Ce=Ie=>{z==null||z.emit("edit-data-source",removeDataSourceFieldPrefix(Ie))};return(Ie,Ne)=>(openBlock(),createElementBlock("div",_hoisted_1$X,[Ie.checkStrictly?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(unref(_sfc_main$c$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,$e=>{var Oe,Fe;return openBlock(),createBlock(resolveDynamicComponent(((Oe=unref(g))==null?void 0:Oe.component)||"el-option"),mergeProps({class:"tmagic-design-option",key:$e.value},{ref_for:!0},((Fe=unref(g))==null?void 0:Fe.props({label:$e.text,value:$e.value,disabled:$e.disabled}))||{label:$e.text,value:$e.value,disabled:$e.disabled}),null,16)}),128))]),_:1},8,["model-value","size","disabled"]),createVNode(unref(_sfc_main$E$2),{"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$E$2),{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&&_e.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:2,content:ie.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{class:"m-fields-select-action-button",size:Ie.size,onClick:Ne[0]||(Ne[0]=$e=>Ce(re.value))},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:ie.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$W={class:"m-fields-data-source-field-select"},_sfc_main$1g$1=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")||[]),z=computed$1(()=>y.getDisabledDataSource()),V=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(V.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(Ce=>Ce.id===removeDataSourceFieldPrefix(le));if(!ue){t("change",re,ae);return}let he=ue.fields||[],pe;(de||[]).forEach(Ce=>{pe=he.find(xe=>xe.name===Ce),he=(pe==null?void 0:pe.fields)||[]});const _e=i.config.dataSourceFieldType||["any"];_e.length||_e.push("any"),!de.length||pe!=null&&pe.type&&(pe.type==="any"||_e.includes("any")||_e.includes(pe.type))?t("change",re,ae):(tMagicMessage.error("请选择类型为".concat(_e.join("或"),"的字段")),t("change",[le],ae))};return(re,ae)=>(openBlock(),createElementBlock("div",_hoisted_1$W,[!z.value&&(r.value||!re.config.fieldConfig)?(openBlock(),createBlock(_sfc_main$1h$1,{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&&!z.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:2,disabled:r.value,content:"选择数据源"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{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$1r$1,{icon:unref(coin_default)},null,8,["icon"])]),_:1},8,["type","size"])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$V={style:{display:"flex","flex-direction":"column","line-height":"1.2em"}},_hoisted_2$k={style:{"font-size":"10px",color:"rgba(0, 0, 0, 0.6)"}},_hoisted_3$7={class:"el-input__inner t-input__inner"},_sfc_main$1f$1=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(""),z=ref$1([]),V=computed$1(()=>{var Oe,Fe;return(Fe=(Oe=y.value)==null?void 0:Oe.inputRef)==null?void 0:Fe.input}),j=computed$1(()=>r.get("dataSources")),ie=computed$1(()=>g.getDisabledDataSource()),oe=()=>{z.value=getDisplayField(j.value,L.value)};watch(()=>t.model[t.name],(Oe="")=>{L.value=Oe,oe()},{immediate:!0});const re=async()=>{var ze;const Oe=globalThis.document.getSelection(),Fe=(Oe==null?void 0:Oe.anchorOffset)||0,Et=(Oe==null?void 0:Oe.focusOffset)||0;k.value=!0,await nextTick(),(ze=y.value)==null||ze.focus(),Et&&V.value&&V.value.setSelectionRange(Fe,Et)},ae=()=>{k.value=!1,oe(),i("change",L.value)},le=Oe=>{i("change",Oe)};let de="";const ue=Oe=>{Oe||(de=Oe)},he=(Oe=0)=>de.substring(Oe-1,Oe)==="}",pe=()=>{var Fe;let Oe=((Fe=V.value)==null?void 0:Fe.selectionStart)||0;return he(Oe)&&(Oe-=1),Oe},_e=Oe=>Oe>0&&Oe===pe()-1,Ce=Oe=>Oe>-1&&Oe===pe()-1,xe=(Oe,Fe,Et)=>{let ze=[];if(_e(Fe))ze=j.value;else if(Fe>0){const qe=Oe.substring(Fe+1).toLowerCase();ze=j.value.filter(Ve=>{var kt;return((kt=Ve.title)==null?void 0:kt.toLowerCase().includes(qe))||Ve.id.includes(qe)})}Et(ze.map(qe=>({value:qe.id,text:qe.title,type:"dataSource"})))},Ie=(Oe,Fe,Et,ze)=>{let qe=[];const Ve=Oe.substring(Fe+1,Et),kt=getKeysArray(Ve),Ue=kt.shift(),Dt=j.value.find(ti=>ti.id===Ue);if(!Dt){ze([]);return}let jt=Dt.fields||[],ei=kt.shift();for(;ei;){if(isNumber$3(ei)){ei=kt.shift();continue}for(const ti of jt)if(ti.name===ei){jt=ti.fields||[],ei=kt.shift();break}}if(Ce(Et))qe=jt||[];else if(Et>-1){const ti=Oe.substring(Et+1).toLowerCase();qe=jt.filter(hi=>{var ui,mi;return((ui=hi.name)==null?void 0:ui.toLowerCase().includes(ti))||((mi=hi.title)==null?void 0:mi.toLowerCase().includes(ti))})||[]}ze(qe.map(ti=>({value:ti.name,text:ti.title,type:"field"})))},Ne=(Oe,Fe)=>{de=Oe;const Et=pe(),ze=Oe.substring(0,Et),qe=ze.lastIndexOf("."),Ve=ze.lastIndexOf("${")+1;qe>Ve?Ie(ze,Ve,qe,Fe):xe(ze,Ve,Fe)},$e=async({value:Oe,type:Fe})=>{var ei,ti;const Et=Fe==="dataSource",ze=((ei=V.value)==null?void 0:ei.selectionStart)||0;let qe=de.substring(0,ze);const Ve=qe.lastIndexOf("."),kt=qe.lastIndexOf("${")+1,Ue=de.substring(ze);let Dt=Oe;Et?(_e(kt)||(qe=qe.substring(0,kt+1)),he(ze+1)||(Dt="".concat(Dt,"}"))):Ce(Ve)||(qe=qe.substring(0,Ve+1)),L.value="".concat(qe).concat(Dt).concat(Ue),await nextTick();let jt=0;Et?jt=kt+Dt.length:jt=Ve+Dt.length+1,(ti=V.value)==null||ti.setSelectionRange(jt,jt),le(L.value)};return(Oe,Fe)=>{var Et,ze,qe;return ie.value?(openBlock(),createBlock(unref(_sfc_main$n$3),{key:0,modelValue:L.value,"onUpdate:modelValue":Fe[0]||(Fe[0]=Ve=>L.value=Ve),disabled:Oe.disabled,size:Oe.size,clearable:!0,onChange:le},null,8,["modelValue","disabled","size"])):Oe.disabled||k.value?(openBlock(),createBlock(resolveDynamicComponent(((Et=unref(getDesignConfig)("components"))==null?void 0:Et.autocomplete.component)||"el-autocomplete"),mergeProps({key:1,class:"tmagic-design-auto-complete",ref:"autocomplete",modelValue:L.value,"onUpdate:modelValue":Fe[1]||(Fe[1]=Ve=>L.value=Ve)},((ze=unref(getDesignConfig)("components"))==null?void 0:ze.autocomplete.props({disabled:Oe.disabled,size:Oe.size,fetchSuggestions:Ne,triggerOnFocus:!1,clearable:!0}))||{},{style:{width:"100%"},onBlur:ae,onInput:ue,onSelect:$e}),{suffix:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(coin_default)},null,8,["icon"])]),default:withCtx(({item:Ve})=>[createBaseVNode("div",_hoisted_1$V,[createBaseVNode("div",null,toDisplayString(Ve.text),1),createBaseVNode("span",_hoisted_2$k,toDisplayString(Ve.value),1)])]),_:1},16,["modelValue"])):(openBlock(),createElementBlock("div",{key:2,class:normalizeClass("tmagic-data-source-input-text el-input t-input t-size-".concat((qe=Oe.size)==null?void 0:qe[0]," el-input--").concat(Oe.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$7,[(openBlock(!0),createElementBlock(Fragment,null,renderList(z.value,(Ve,kt)=>(openBlock(),createElementBlock(Fragment,null,[Ve.type==="text"?(openBlock(),createElementBlock("span",{key:kt,style:{"margin-right":"2px"}},toDisplayString(Ve.value),1)):createCommentVNode("v-if",!0),Ve.type==="var"?(openBlock(),createBlock(unref(_sfc_main$4$4),{key:kt,size:Oe.size},{default:withCtx(()=>[createTextVNode(toDisplayString(Ve.value),1)]),_:2},1032,["size"])):createCommentVNode("v-if",!0)],64))),256)),createVNode(_sfc_main$1r$1,{class:"tmagic-data-source-input-icon",icon:unref(coin_default)},null,8,["icon"])])],2)],34))}}}),_hoisted_1$U={style:{display:"flex","margin-bottom":"10px"}},_hoisted_2$j={style:{flex:"1"}},_hoisted_3$6={style:{flex:"1"}},_hoisted_4$5={class:"dialog-footer"},_sfc_main$1e$1=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:z}=useEditorContentHeight(),V=ref$1(!1),{rect:j}=useWindowRect(),ie=useTemplateRef("magicVsEditor"),oe=()=>{var $e;!ie.value||!(($e=ue.value)!=null&&$e.form)||(ue.value.form.values.content=ie.value.getEditorValue(),V.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 $e=[{text:"初始化前",value:"beforeInit"},{text:"初始化后",value:"afterInit"}];return g.dataSourceType!=="base"&&($e.push({text:"请求前",value:"beforeRequest"}),$e.push({text:"请求后",value:"afterRequest"})),$e},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:($e,Oe)=>{try{return getEditorConfig("parseDSL")(Oe),Oe}catch(Fe){throw tMagicMessage.error(Fe.message),Fe}}}]),le=($e,Oe)=>{he.value=void 0,y("submit",$e,Oe)},de=$e=>{tMagicMessage.error($e.message)},ue=useTemplateRef("formBox"),he=ref$1(),pe=$e=>{he.value=$e},_e=$e=>{if(!he.value){$e();return}tMagicMessageBox.confirm("当前代码块已修改,是否保存?","提示",{confirmButtonText:"保存并关闭",cancelButtonText:"不保存并关闭",type:"warning",distinguishCancelAndClose:!0}).then(()=>{var Oe,Fe;he.value&&le(he.value,{changeRecords:(Fe=(Oe=ue.value)==null?void 0:Oe.form)==null?void 0:Fe.changeRecords}),$e()}).catch(Oe=>{$e(Oe==="cancel")})},Ce=()=>{he.value=void 0},xe=inject("parentFloating",ref$1(null)),{boxPosition:Ie,calcBoxPosition:Ne}=useNextFloatBoxPosition(L,xe);return watch(r,$e=>{nextTick(()=>{y($e?"open":"close")})}),e({async show(){Ne(),r.value=!0},async hide(){r.value=!1}}),($e,Oe)=>(openBlock(),createElementBlock(Fragment,null,[createCommentVNode(" 代码块编辑区 "),createVNode(_sfc_main$1j$1,{visible:r.value,"onUpdate:visible":Oe[1]||(Oe[1]=Fe=>r.value=Fe),width:i.value,"onUpdate:width":Oe[2]||(Oe[2]=Fe=>i.value=Fe),height:unref(z),"onUpdate:height":Oe[3]||(Oe[3]=Fe=>isRef(z)?z.value=Fe:null),title:$e.content.name?"".concat($e.disabled?"查看":"编辑").concat($e.content.name):"新增代码",position:unref(Ie),"before-close":_e},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{class:"m-editor-code-block-editor",ref_key:"formBox",ref:ue,"label-width":"80px","close-on-press-escape":!1,title:$e.content.name,config:ae.value,values:$e.content,disabled:$e.disabled,style:{height:"100%"},onChange:pe,onSubmit:le,onError:de,onClosed:Ce},{left:withCtx(()=>[$e.disabled?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,type:"primary",link:"",onClick:Oe[0]||(Oe[0]=Fe=>V.value=!0)},{default:withCtx(()=>[...Oe[6]||(Oe[6]=[createTextVNode("查看修改",-1)])]),_:1}))]),_:1},8,["title","config","values","disabled"])]),_:1},8,["visible","width","height","title","position"]),(openBlock(),createBlock(Teleport$1,{to:"body"},[createVNode(unref(_sfc_main$w$3),{title:"查看修改",modelValue:V.value,"onUpdate:modelValue":Oe[5]||(Oe[5]=Fe=>V.value=Fe),fullscreen:"","destroy-on-close":""},{footer:withCtx(()=>[createBaseVNode("span",_hoisted_4$5,[createVNode(unref(_sfc_main$G$2),{size:"small",onClick:Oe[4]||(Oe[4]=Fe=>V.value=!1)},{default:withCtx(()=>[...Oe[9]||(Oe[9]=[createTextVNode("取消",-1)])]),_:1}),createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",onClick:oe},{default:withCtx(()=>[...Oe[10]||(Oe[10]=[createTextVNode("确定",-1)])]),_:1})])]),default:withCtx(()=>{var Fe,Et;return[createBaseVNode("div",_hoisted_1$U,[createBaseVNode("div",_hoisted_2$j,[createVNode(unref(_sfc_main$4$4),{size:"small",type:"info"},{default:withCtx(()=>[...Oe[7]||(Oe[7]=[createTextVNode("修改前",-1)])]),_:1})]),createBaseVNode("div",_hoisted_3$6,[createVNode(unref(_sfc_main$4$4),{size:"small",type:"success"},{default:withCtx(()=>[...Oe[8]||(Oe[8]=[createTextVNode("修改后",-1)])]),_:1})])]),createVNode(_sfc_main$1q$1,{ref:"magicVsEditor",type:"diff",language:"json","disabled-full-screen":!0,initValues:$e.content.content,modifiedValues:(Et=(Fe=ue.value)==null?void 0:Fe.form)==null?void 0:Et.values.content,height:"".concat(unref(j).height-150,"px")},null,8,["initValues","modifiedValues","height"])]}),_:1},8,["modelValue"])]))],64))}}),_hoisted_1$T={class:"m-editor-data-source-methods"},_hoisted_2$i={class:"m-editor-data-source-methods-footer"},_sfc_main$1d$1=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:(V=[])=>V.map(j=>j.name).join(", ")},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(V,j)=>{let ie=V.content||"({ params, dataSource, app }) => {\n // place your code here\n}";typeof ie!="string"&&(ie=ie.toString()),r.value={...cloneDeep(V),content:ie},y=j,nextTick(()=>{var oe;(oe=g.value)==null||oe.show()})}},{text:"删除",buttonType:"danger",handler:async(V,j)=>{await tMagicMessageBox.confirm("确定删除".concat(V.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 V;(V=g.value)==null||V.show()})},z=(V,j)=>{var ie;if(V.content){const oe=getEditorConfig("parseDSL");typeof V.content=="string"&&(V.content=oe(V.content))}if(y>-1)i("change",V,{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",V,{modifyKey:oe,changeRecords:[{propPath:"".concat(t.prop,".").concat(oe),value:V}]})}y=-1,r.value=void 0,(ie=g.value)==null||ie.hide()};return(V,j)=>(openBlock(),createElementBlock("div",_hoisted_1$T,[createVNode(unref(_sfc_main$1K),{data:V.model[V.name],columns:k,border:!0},null,8,["data"]),createBaseVNode("div",_hoisted_2$i,[createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",disabled:V.disabled,plain:"",onClick:L},{default:withCtx(()=>[...j[0]||(j[0]=[createTextVNode("添加",-1)])]),_:1},8,["disabled"])]),r.value?(openBlock(),createBlock(_sfc_main$1e$1,{key:0,ref:"codeBlockEditor",disabled:V.disabled,content:r.value,"is-data-source":!0,"data-source-type":V.model.type,onSubmit:z},null,8,["disabled","content","data-source-type"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$S={class:"m-fields-data-source-method-select"},_hoisted_2$h={class:"data-source-method-select-container"},_sfc_main$1c$1=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)),z=computed$1(()=>filterFunction(r,k.config.notEditable,k)),V=computed$1(()=>t.get("dataSources")),j=computed$1(()=>{const[he,pe]=k.model[k.name],_e=t.getDataSourceById(he);return!!(_e!=null&&_e.methods.find(Ce=>Ce.name===pe))}),ie=([he,pe]=["",""])=>{var Ce,xe,Ie,Ne;if(!he)return[];const _e=(Ne=(Ie=(xe=(Ce=V.value)==null?void 0:Ce.find($e=>$e.id===he))==null?void 0:xe.methods)==null?void 0:Ie.find($e=>$e.name===pe))==null?void 0:Ne.params;return _e?_e.map($e=>({text:$e.name,...$e})):[]},oe=ref$1(ie(k.model[k.name||"dataSourceMethod"])),re=(he,pe={},_e)=>{oe.value=he?ie(he):[],oe.value.length?_e("params",createValues(pe,oe.value,{},k.model.params)):_e("params",{})},ae=computed$1(()=>{var he,pe;return((pe=(he=V.value)==null?void 0:he.filter(_e=>{var Ce;return((Ce=_e.methods)==null?void 0:Ce.length)||t.getFormMethod(_e.type).length}))==null?void 0:pe.map(_e=>({label:_e.title||_e.id,value:_e.id,children:[...(t==null?void 0:t.getFormMethod(_e.type))||[],...(_e.methods||[]).map(Ce=>({label:Ce.name,value:Ce.name}))]})))||[]}),le=computed$1(()=>({type:"cascader",name:k.name,options:ae.value,disable:k.disabled,onChange:(he,pe,{setModel:_e})=>(re(pe,he,_e),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$S,[createBaseVNode("div",_hoisted_2$h,[createVNode(unref(_sfc_main$x$2),{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$2$4),{key:0,content:z.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{class:"m-fields-select-action-button",size:he.size,onClick:ue},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:z.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("v-if",!0)]),oe.value.length?(openBlock(),createBlock(_sfc_main$1m$1,{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("v-if",!0)]))}}),_hoisted_1$R={class:"m-editor-data-source-fields"},_hoisted_2$g={class:"m-editor-data-source-fields-footer"},_sfc_main$1b$1=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)}}}]}],z=[{type:"expand",component:_sfc_main$1q$1,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$9$3,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$9$3,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])}}]}],V=()=>{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,_e)=>{pe&&t.model[t.name].forEach(Ce=>{Ce[he]=!1}),j({...ue,[he]:pe,index:_e})},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$R,[createVNode(unref(_sfc_main$1K),{data:ue.model[ue.name],columns:z},null,8,["data"]),createBaseVNode("div",_hoisted_2$g,[createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",disabled:ue.disabled,plain:"",onClick:he[0]||(he[0]=pe=>V())},{default:withCtx(()=>[...he[4]||(he[4]=[createTextVNode("添加",-1)])]),_:1},8,["disabled"])]),createVNode(_sfc_main$1j$1,{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$1L),{"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$Q={class:"m-fields-data-source-select"},_sfc_main$1a$1=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")),z=computed$1(()=>filterFunction(r,i.config.notEditable,i)),V=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$Q,[createVNode(unref(_sfc_main$7$2),{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]&&V.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,content:z.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{class:"m-fields-select-action-button",size:re.size,onClick:oe},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:z.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("v-if",!0)]))}}),_sfc_main$19$1=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[z,...V]=y.value,j=r.getDataSourceById(z);if(!j)return[];let ie=j.fields||[];return V.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:(z,{model:V})=>{const[j,...ie]=[...y.value,...V.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:(z,{model:V})=>!["between","not_between"].includes(V.op)},{name:"range",type:"number-range",display:(z,{model:V})=>["between","not_between"].includes(V.op)}]}]}]})),L=(z,V)=>{Array.isArray(i.model[i.name])||(i.model[i.name]=[]),t("change",z,V)};return(z,V)=>(openBlock(),createBlock(unref(_sfc_main$u$2),{style:{width:"100%"},config:k.value,name:z.name,disabled:z.disabled,model:z.model,"last-values":z.lastValues,prop:z.prop,size:z.size,onChange:L},null,8,["config","name","disabled","model","last-values","prop","size"]))}}),_hoisted_1$P={class:"m-fields-event-select"},_hoisted_2$f={key:1,class:"fullWidth"},_sfc_main$18$1=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(),z=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 $e,Oe;let Ne=[];if(t.config.src==="component"){if(Ne=y.getEvent(Ie.type),Ie.type==="page-fragment-container"&&Ie.pageFragmentId){const Fe=(Oe=($e=r.get("root"))==null?void 0:$e.items)==null?void 0:Oe.find(Et=>Et.id===Ie.pageFragmentId);if(Fe)return Ne=[{label:Fe.name||"页面片容器",value:Fe.id,children:Ne}],Fe.items.forEach(Et=>{traverseNode(Et,ze=>{const qe=ze.type&&y.getEvent(ze.type)||[];Ne.push({label:"".concat(ze.name,"_").concat(ze.id),value:"".concat(ze.id),children:qe})})}),Ne}return Ne.map(Fe=>({text:Fe.label,value:Fe.value}))}if(t.config.src==="datasource"){Ne=g.getFormEvent(Ie.type);const Fe=g.getDataSourceById(Ie.id),Et=(Fe==null?void 0:Fe.fields)||[];return Et.length>0?[...Ne,{label:"数据变化",value:DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX,children:getCascaderOptionsFromFields(Et)}]:Ne}}},...t.config.eventNameConfig})),V=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 Oe,Fe;const Ne=r.getNodeById(Ie.to);if(!(Ne!=null&&Ne.type))return[];let $e=[];if($e=y.getMethod(Ne.type,Ie.to),Ne.type==="page-fragment-container"&&Ne.pageFragmentId){const Et=(Fe=(Oe=r.get("root"))==null?void 0:Oe.items)==null?void 0:Fe.find(ze=>ze.id===Ne.pageFragmentId);if(Et)return $e=[],Et.items.forEach(ze=>{traverseNode(ze,qe=>{const Ve=qe.type&&y.getMethod(qe.type,qe.id)||[];Ve.length&&$e.push({label:"".concat(qe.name,"_").concat(qe.id),value:"".concat(qe.id),children:Ve})})}),$e}return $e.map(Et=>({text:Et.label,value:Et.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:z.value.type,options:(Ce,{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:(Ce,{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:[V.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 Ce={name:"",actions:[]};t.model[t.name]||(t.model[t.name]=[]),i("change",Ce,{modifyKey:t.model[t.name].length})},he=Ce=>{t.name&&(t.model[t.name].splice(Ce,1),i("change",t.model[t.name]))},pe=(Ce,xe)=>{i("change",t.model[t.name],xe)},_e=(Ce,xe)=>i("change",t.model[t.name],xe);return(Ce,xe)=>{const Ie=resolveComponent("m-form-table");return openBlock(),createElementBlock("div",_hoisted_1$P,[de.value?(openBlock(),createBlock(Ie,{key:0,name:"events",size:Ce.size,disabled:Ce.disabled,model:Ce.model,config:ae.value,onChange:_e},null,8,["size","disabled","model","config"])):(openBlock(),createElementBlock("div",_hoisted_2$f,[createVNode(unref(_sfc_main$G$2),{class:"create-button",type:"primary",size:Ce.size,disabled:Ce.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(Ce.model[Ce.name],(Ne,$e)=>(openBlock(),createBlock(unref(_sfc_main$t$2),{key:$e,disabled:Ce.disabled,size:Ce.size,prop:"".concat(Ce.prop,".").concat($e),config:le.value,model:Ne,"label-width":Ce.config.labelWidth||"100px",onChange:_e},{header:withCtx(()=>[createVNode(unref(_sfc_main$x$2),{class:"fullWidth",config:z.value,model:Ne,disabled:Ce.disabled,size:Ce.size,prop:"".concat(Ce.prop,".").concat($e),onChange:pe},null,8,["config","model","disabled","size","prop"]),createVNode(unref(_sfc_main$G$2),{style:{color:"#f56c6c"},link:"",icon:unref(delete_default),disabled:Ce.disabled,size:Ce.size,onClick:Oe=>he($e)},null,8,["icon","disabled","size","onClick"])]),_:2},1032,["disabled","size","prop","config","model","label-width"]))),128))]))])}}}),_hoisted_1$O={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$17$1=defineComponent({name:"MEditorCodeIcon",__name:"CodeIcon",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$O,[...t[0]||(t[0]=[createStaticVNode('',2)])]))}}),_hoisted_1$N={class:"m-fields-key-value"},_hoisted_2$e={key:0},_sfc_main$16$1=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())},z=()=>{r.value.push(["",""])},V=ie=>{r.value.splice(ie,1),i("change",y())},j=ie=>{i("change",ie)};return(ie,oe)=>(openBlock(),createElementBlock("div",_hoisted_1$N,[g.value?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",_hoisted_2$e,[(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$n$3),{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$n$3),{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$G$2),{class:"m-fields-key-value-delete",type:"danger",size:ie.size,disabled:ie.disabled,circle:"",plain:"",icon:unref(delete_default),onClick:le=>V(ae)},null,8,["size","disabled","icon","onClick"])]))),128)),createVNode(unref(_sfc_main$G$2),{type:"primary",size:ie.size,disabled:ie.disabled,plain:"",icon:unref(plus_default),onClick:z},{default:withCtx(()=>[...oe[2]||(oe[2]=[createTextVNode("添加",-1)])]),_:1},8,["size","disabled","icon"])])),ie.config.advanced&&g.value?(openBlock(),createBlock(_sfc_main$1q$1,{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("v-if",!0),ie.config.advanced?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:2,size:"default",disabled:ie.disabled,link:"",icon:_sfc_main$17$1,onClick:oe[0]||(oe[0]=re=>g.value=!g.value)},null,8,["disabled"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$M={class:"m-fields-page-fragment-select"},_hoisted_2$d={class:"page-fragment-select-container"},_sfc_main$15$1=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 z;return(z=t.get("root"))==null?void 0:z.items.filter(V=>V.type===NodeType.PAGE_FRAGMENT)}),y={type:"select",name:r.name,options:()=>g.value?g.value.map(z=>{var V,j;return{text:"".concat(((V=z.devconfig)==null?void 0:V.tabName)||z.title||z.name,"(").concat(z.id,")"),label:"".concat(((j=z.devconfig)==null?void 0:j.tabName)||z.title||z.name,"(").concat(z.id,")"),value:z.id}}):[]},k=async()=>{i("change",r.model[r.name])},L=z=>{t.select(z)};return(z,V)=>{const j=resolveComponent("m-form-container");return openBlock(),createElementBlock("div",_hoisted_1$M,[createBaseVNode("div",_hoisted_2$d,[createCommentVNode(" 页面片下拉框 "),createVNode(j,{class:"select",config:y,model:z.model,size:z.size,onChange:k},null,8,["model","size"]),createCommentVNode(" 编辑按钮 "),z.model[z.name]?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,class:"icon",icon:unref(edit_default),onClick:V[0]||(V[0]=ie=>L(z.model[z.name]))},null,8,["icon"])):createCommentVNode("v-if",!0)])])}}}),_hoisted_1$L={class:"background-position-container"},_hoisted_2$c={class:"presets-value-list"},_hoisted_3$5={class:"custom-value"},_sfc_main$14$1=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$L,[createBaseVNode("div",_hoisted_2$c,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(g),(z,V)=>(openBlock(),createBlock(unref(_sfc_main$G$2),{key:V,link:"",class:normalizeClass(k.model[k.name]===z.value&&"btn-active"),onClick:j=>y(z.value)},{default:withCtx(()=>[createBaseVNode("div",{class:normalizeClass(["position-icon",z.class,k.model[k.name]===z.value&&"active"])},null,2)]),_:2},1032,["class","onClick"]))),128))]),createBaseVNode("div",_hoisted_3$5,[createVNode(unref(_sfc_main$n$3),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=z=>k.model[k.name]=z),size:"small",placeholder:"自定义背景位置",clearable:"",onChange:y},null,8,["modelValue"])])]))}}),_export_sfc$2=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t},_sfc_main$13$1={},_hoisted_1$K={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$k$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$K,[...e[0]||(e[0]=[createStaticVNode('',9)])])}const BackgroundRepeat=_export_sfc$2(_sfc_main$13$1,[["render",_sfc_render$k$1]]),_sfc_main$12$1={},_hoisted_1$J={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$j$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$J,[...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$2(_sfc_main$12$1,[["render",_sfc_render$j$1]]),_sfc_main$11$1={},_hoisted_1$I={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$i$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$I,[...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$2(_sfc_main$11$1,[["render",_sfc_render$i$1]]),_sfc_main$10$1={},_hoisted_1$H={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$h$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$H,[...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$2(_sfc_main$10$1,[["render",_sfc_render$h$1]]),_sfc_main$$$1=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$14$1,labelWidth:"68px"}]},r=(g,y)=>{t("change",g,y)};return(g,y)=>(openBlock(),createBlock(unref(_sfc_main$x$2),{config:i,model:g.values,onChange:r},null,8,["model"]))}}),_sfc_main$_$1={},_hoisted_1$G={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$g$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$G,[...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$2(_sfc_main$_$1,[["render",_sfc_render$g$1]]),_sfc_main$Z$1={},_hoisted_1$F={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$f$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$F,[...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$2(_sfc_main$Z$1,[["render",_sfc_render$f$1]]),_sfc_main$Y$1={},_hoisted_1$E={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$e$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$E,[...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$2(_sfc_main$Y$1,[["render",_sfc_render$e$1]]),_sfc_main$X$1=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$x$2),{config:i,model:g.values,onChange:r},null,8,["model"]))}}),_hoisted_1$D={class:"layout-box-container"},_hoisted_2$b={key:0,class:"help-txt"},_hoisted_3$4={class:"next-input"},_hoisted_4$4=["onUpdate:modelValue","title","onChange"],_sfc_main$W$1=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$D,[(openBlock(),createElementBlock(Fragment,null,renderList(t,(k,L)=>createBaseVNode("div",{key:L,class:normalizeClass(k.class)},[k.text?(openBlock(),createElementBlock("span",_hoisted_2$b,toDisplayString(k.text),1)):createCommentVNode("v-if",!0),createBaseVNode("span",_hoisted_3$4,[withDirectives(createBaseVNode("input",{"onUpdate:modelValue":z=>g.model[k.name]=z,title:g.model[k.name],onChange:z=>r(z,k.name),placeholder:"0"},null,40,_hoisted_4$4),[[vModelText,g.model[k.name]]])])],2)),64))]))}}),_sfc_main$V$1={},_hoisted_1$C={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$d$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$C,[...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$2(_sfc_main$V$1,[["render",_sfc_render$d$1]]),_sfc_main$U$1={},_hoisted_1$B={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$c$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$B,[...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$2(_sfc_main$U$1,[["render",_sfc_render$c$1]]),_sfc_main$T$1={},_hoisted_1$A={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$b$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$A,[...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$2(_sfc_main$T$1,[["render",_sfc_render$b$1]]),_sfc_main$S$1={},_hoisted_1$z={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$a$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$z,[...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$2(_sfc_main$S$1,[["render",_sfc_render$a$1]]),_sfc_main$R$1={},_hoisted_1$y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$9$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$y,[...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$2(_sfc_main$R$1,[["render",_sfc_render$9$1]]),_sfc_main$Q$1={},_hoisted_1$x={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$8$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$x,[...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$2(_sfc_main$Q$1,[["render",_sfc_render$8$1]]),_sfc_main$P$1={},_hoisted_1$w={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$7$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$w,[...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$2(_sfc_main$P$1,[["render",_sfc_render$7$1]]),_sfc_main$O$1={},_hoisted_1$v={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$6$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$v,[...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$2(_sfc_main$O$1,[["render",_sfc_render$6$1]]),_sfc_main$N$1={},_hoisted_1$u={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$5$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$u,[...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$2(_sfc_main$N$1,[["render",_sfc_render$5$1]]),_sfc_main$M$1={},_hoisted_1$t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$4$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$t,[...e[0]||(e[0]=[createBaseVNode("path",{d:"M480 1024V0h64v1024h-64z m128-64V64h320v896H608zM96 960V64h320v896H96z"},null,-1)])])}const JustifyContentCenter=_export_sfc$2(_sfc_main$M$1,[["render",_sfc_render$4$1]]),_sfc_main$L$1={},_hoisted_1$s={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$3$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$s,[...e[0]||(e[0]=[createBaseVNode("path",{d:"M416 160H96v704h320V160z m384 0H480v704h320V160z m128-160h-64v1024h64V0z"},null,-1)])])}const JustifyContentFlexEnd=_export_sfc$2(_sfc_main$L$1,[["render",_sfc_render$3$1]]),_sfc_main$K$1={},_hoisted_1$r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$2$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$r,[...e[0]||(e[0]=[createBaseVNode("path",{d:"M608 160h320v704H608V160zM224 160h320v704H224V160zM96 0h64v1024H96V0z"},null,-1)])])}const JustifyContentFlexStart=_export_sfc$2(_sfc_main$K$1,[["render",_sfc_render$2$1]]),_sfc_main$J$1={},_hoisted_1$q={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$1$1(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$q,[...e[0]||(e[0]=[createBaseVNode("path",{d:"M320 864H192v160H128v-160H0V160h128V0h64v160h128v704z m704 0h-128v160h-64v-160h-128V160h128V0h64v160h128v704z"},null,-1)])])}const JustifyContentSpaceAround=_export_sfc$2(_sfc_main$J$1,[["render",_sfc_render$1$1]]),_sfc_main$I$1={},_hoisted_1$p={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$o(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$p,[...e[0]||(e[0]=[createBaseVNode("path",{d:"M64 1024H0V0h64v1024z m384-160H128V160h320v704z m448 0H576V160h320v704z m128 160h-64V0h64v1024z"},null,-1)])])}const JustifyContentSpaceBetween=_export_sfc$2(_sfc_main$I$1,[["render",_sfc_render$o]]),_sfc_main$H$1=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$x$2),{config:i,model:g.values,onChange:r},null,8,["model"]),withDirectives(createVNode(_sfc_main$W$1,{model:g.values,onChange:r},null,8,["model"]),[[vShow,!["fixed","absolute"].includes(g.values.position)]])],64))}}),_sfc_main$G$1=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$x$2),{config:g,model:k.values,onChange:y},null,8,["model"]))}}),_hoisted_1$o={class:"border-box-container"},_hoisted_2$a={class:"border-icon-container"},_hoisted_3$3={class:"border-icon-container-row"},_hoisted_4$3={class:"border-icon-container-row"},_hoisted_5$1={class:"border-icon-container-row"},_hoisted_6$1={class:"border-value-container"},_sfc_main$F$1=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 z;(z=L.changeRecords)==null||z.forEach(V=>{g("change",V.value,{modifyKey:V.propPath})})};return(k,L)=>(openBlock(),createElementBlock("div",_hoisted_1$o,[createBaseVNode("div",_hoisted_2$a,[createBaseVNode("div",_hoisted_3$3,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-top",{active:t.value==="Top"}]),onClick:L[0]||(L[0]=z=>r("Top"))},null,2)]),createBaseVNode("div",_hoisted_4$3,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-left",{active:t.value==="Left"}]),onClick:L[1]||(L[1]=z=>r("Left"))},null,2),createBaseVNode("div",{class:normalizeClass(["border-icon",{active:t.value===""}]),onClick:L[2]||(L[2]=z=>r())},null,2),createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-right",{active:t.value==="Right"}]),onClick:L[3]||(L[3]=z=>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]=z=>r("Bottom"))},null,2)])]),createBaseVNode("div",_hoisted_6$1,[createVNode(unref(_sfc_main$x$2),{config:i.value,model:k.model,onChange:y},null,8,["config","model"])])]))}}),_sfc_main$E$1=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$x$2),{config:i,model:g.values,onChange:r},null,8,["model"]),createVNode(_sfc_main$F$1,{model:g.values,onChange:r},null,8,["model"])],64))}}),_hoisted_1$n={class:"m-fields-style-setter"},_sfc_main$D$1=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$H$1},{title:"位置",component:_sfc_main$G$1},{title:"背景",component:_sfc_main$$$1},{title:"文字",component:_sfc_main$X$1},{title:"边框与圆角",component:_sfc_main$E$1}],g=shallowRef(Array(r.length).fill(1).map((k,L)=>"".concat(L))),y=(k,L)=>{var z;(z=L.changeRecords)==null||z.forEach(V=>{V.propPath="".concat(t.name,".").concat(V.propPath)}),i("change",k,L)};return(k,L)=>(openBlock(),createElementBlock("div",_hoisted_1$n,[createVNode(unref(_sfc_main$A$2),{"model-value":g.value},{default:withCtx(()=>[(openBlock(),createElementBlock(Fragment,null,renderList(r,(z,V)=>createVNode(unref(_sfc_main$z$2),{key:V,name:"".concat(V)},{title:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(grid_default)},null,8,["icon"]),createTextVNode(toDisplayString(z.title),1)]),default:withCtx(()=>[z.component?(openBlock(),createBlock(resolveDynamicComponent(z.component),{key:0,values:k.model[k.name],onChange:y},null,40,["values"])):createCommentVNode("v-if",!0)]),_:2},1032,["name"])),64))]),_:1},8,["model-value"])]))}}),_hoisted_1$m={key:1,class:"m-fields-ui-select",style:{display:"flex"}},_sfc_main$C$1=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]),z=ref$1(!1),V=()=>{g.set("uiSelectMode",!1),z.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)),V&&V()},ie=computed$1(()=>{const ue=r.getNodeById(L.value);return(ue==null?void 0:ue.name)||""}),oe=()=>{g.set("uiSelectMode",!0),z.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)=>z.value?(openBlock(),createElementBlock("div",{key:0,class:"m-fields-ui-select",onClick:V},[createVNode(unref(_sfc_main$G$2),{type:"danger",icon:unref(delete_default),disabled:ue.disabled,size:ue.size,link:"",style:{padding:"0"}},{default:withCtx(()=>[...he[2]||(he[2]=[createTextVNode("取消",-1)])]),_:1},8,["icon","disabled","size"])])):(openBlock(),createElementBlock("div",_hoisted_1$m,[L.value?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(unref(_sfc_main$2$4),{content:"清除",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{style:{padding:"0"},type:"danger",icon:unref(close_default),disabled:ue.disabled,size:ue.size,link:"",onClick:withModifiers(re,["stop"])},null,8,["icon","disabled","size"])]),_:1}),createVNode(unref(_sfc_main$2$4),{content:"点击选中组件",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{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$2$4),{key:1,content:"点击此处选择",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",style:{padding:"0",margin:"0"},disabled:ue.disabled,size:ue.size,onClick:oe},{default:withCtx(()=>[...he[3]||(he[3]=[createTextVNode("点击此处选择",-1)])]),_:1},8,["disabled","size"])]),_:1}))]))}}),_sfc_main$B$1=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$A$1=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 z=0;const V=(re=0,ae=0)=>{let le=ae>0?ae:0,de=re>0?re:0,ue=z-de-le;if(ue{if(re<=0)return;z=re;let ae=r.left||r.minLeft||0,le=r.right||r.minRight||0;ae>z&&(ae=z/3),le>z&&(le=z/3);const de=V(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),z-ae-(r.right||0)<=0&&(ae=r.left);const le=V(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),z-(r.left||0)-ae<=0&&(ae=r.right);const le=V(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(z=(de=(le=r.width)!=null?le:(ae=g.value)==null?void 0:ae.clientWidth)!=null?de:z,z<=0)return;const re=V(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$B$1,{onChange:ie})],64)):createCommentVNode("v-if",!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$B$1,{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("v-if",!0)],4))}}),_hoisted_1$l={key:1,class:"menu-item-text"},_hoisted_2$9={class:"el-dropdown-link menubar-menu-button"},_sfc_main$z$1=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 V;return e.data?typeof e.data=="string"?!0:typeof e.data.display=="function"?e.data.display(t):(V=e.data.display)!=null?V:!0:!1}),g=(V,j)=>{var ie;i.value||typeof V.handler=="function"&&((ie=V.handler)==null||ie.call(V,t,j))},y=V=>{V.item.handler&&V.item.handler(t)},k=(V,j)=>{e.eventType==="click"&&V.type==="button"&&g(V,j)},L=(V,j)=>{e.eventType==="mousedown"&&V.type==="button"&&g(V,j)},z=(V,j)=>{e.eventType==="mouseup"&&V.type==="button"&&j.button===0&&g(V,j)};return(V,j)=>r.value?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["menu-item","".concat(V.data.type," ").concat(V.data.className||"")]),onClick:j[0]||(j[0]=ie=>k(V.data,ie)),onMousedown:j[1]||(j[1]=ie=>L(V.data,ie)),onMouseup:j[2]||(j[2]=ie=>z(V.data,ie))},[V.data.type==="divider"?(openBlock(),createBlock(unref(_sfc_main$v$3),{key:0,direction:V.data.direction||"vertical"},null,8,["direction"])):V.data.type==="text"?(openBlock(),createElementBlock("div",_hoisted_1$l,toDisplayString(V.data.text),1)):V.data.type==="button"?(openBlock(),createElementBlock(Fragment,{key:2},[V.data.tooltip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,effect:"dark",placement:"bottom-start",content:V.data.tooltip},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{size:"small",link:"",disabled:i.value},{default:withCtx(()=>[V.data.icon?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:V.data.icon},null,8,["icon"])):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(V.data.text),1)]),_:1},8,["disabled"])]),_:1},8,["content"])):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:1,size:"small",link:"",disabled:i.value,title:V.data.text},{default:withCtx(()=>[V.data.icon?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:V.data.icon},null,8,["icon"])):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(V.data.text),1)]),_:1},8,["disabled","title"]))],64)):V.data.type==="dropdown"?(openBlock(),createBlock(unref(_sfc_main$t$3),{key:3,trigger:"click",disabled:i.value,onCommand:y},{dropdown:withCtx(()=>[V.data.items&&V.data.items.length?(openBlock(),createBlock(unref(_sfc_main$r$3),{key:0},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(V.data.items,(ie,oe)=>(openBlock(),createBlock(unref(_sfc_main$s$3),{key:oe,command:{data:V.data,subItem:ie}},{default:withCtx(()=>[createTextVNode(toDisplayString(ie.text),1)]),_:2},1032,["command"]))),128))]),_:1})):createCommentVNode("v-if",!0)]),default:withCtx(()=>[createBaseVNode("span",_hoisted_2$9,[createTextVNode(toDisplayString(V.data.text),1),createVNode(unref(_sfc_main$o$3),{class:"el-icon--right"},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1})])]),_:1},8,["disabled"])):V.data.type==="component"?(openBlock(),createBlock(resolveDynamicComponent(V.data.component),mergeProps({key:4},V.data.props||{},toHandlers(V.data.listeners||{})),null,16)):createCommentVNode("v-if",!0)],34)):createCommentVNode("v-if",!0)}}),_hoisted_1$k={key:0,id:"m-editor-page-bar-add-icon",class:"m-editor-page-bar-item m-editor-page-bar-item-icon"},_hoisted_2$8={key:1,style:{width:"21px"}},_sfc_main$y$1=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$k,[createVNode(unref(_sfc_main$i$3),{"popper-class":"data-source-list-panel-add-menu"},{reference:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(plus_default)},null,8,["icon"])]),default:withCtx(()=>[createVNode(_sfc_main$z$1,{data:{type:"button",text:"页面",handler:()=>{r(unref(NodeType).PAGE)}}},null,8,["data"]),createVNode(_sfc_main$z$1,{data:{type:"button",text:"页面片",handler:()=>{r(unref(NodeType).PAGE_FRAGMENT)}}},null,8,["data"])]),_:1})])):(openBlock(),createElementBlock("div",_hoisted_2$8))}}),_hoisted_1$j={class:"m-editor-page-bar",ref:"pageBar"},_hoisted_2$7={key:0,class:"m-editor-page-bar-items",ref:"itemsContainer"},_sfc_main$x$1=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")),z=ref$1(0),V=useTemplateRef("pageBar"),j=()=>{var le;z.value=(((le=V.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-z.value>1)})},ie=new ResizeObserver(()=>{j()});onMounted(()=>{V.value&&ie.observe(V.value),g.value&&ie.observe(g.value)}),onBeforeUnmount(()=>{ie.disconnect()});let oe=0;const re=le=>{if(!g.value||!y.value)return;const de=g.value.scrollWidth-z.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-z.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 Ce=>{var xe;typeof((xe=t.pageBarSortOptions)==null?void 0:xe.beforeStart)=="function"&&await t.pageBarSortOptions.beforeStart(Ce,_e),he=_e.toArray()},onUpdate:async Ce=>{var xe;await i.sort(he[Ce.oldIndex],he[Ce.newIndex]),typeof((xe=t.pageBarSortOptions)==null?void 0:xe.afterUpdate)=="function"&&await t.pageBarSortOptions.afterUpdate(Ce,_e)},...t.pageBarSortOptions?t.pageBarSortOptions:{}};if(!ue)return;const _e=new Sortable(ue,pe)}})},{immediate:!0}),e({itemsContainerWidth:z,scroll:re,scrollTo:ae,getTranslateLeft(){return oe}}),(le,de)=>(openBlock(),createElementBlock("div",_hoisted_1$j,[renderSlot(le.$slots,"prepend"),le.length?(openBlock(),createElementBlock("div",_hoisted_2$7,[renderSlot(le.$slots,"default")],512)):createCommentVNode("v-if",!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$1r$1,{icon:unref(arrow_left_bold_default)},null,8,["icon"])])):createCommentVNode("v-if",!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$1r$1,{icon:unref(arrow_right_bold_default)},null,8,["icon"])])):createCommentVNode("v-if",!0)],512))}}),_hoisted_1$i={key:0,id:"m-editor-page-bar-list-icon",class:"m-editor-page-bar-item m-editor-page-bar-item-icon"},_sfc_main$w$1=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$i,[createVNode(unref(_sfc_main$i$3),{"popper-class":"page-bar-popover",placement:"top",trigger:"hover",width:160,"destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{class:"m-editor-page-list-menu-icon"},{default:withCtx(()=>[createVNode(unref(files_default))]),_:1})]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(y.$slots,"page-list-popover",{list:y.list},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.list,(L,z)=>{var V,j;return openBlock(),createBlock(_sfc_main$z$1,{data:{type:"button",text:((V=L.devconfig)==null?void 0:V.tabName)||L.name||L.id,className:L.id===((j=r.value)==null?void 0:j.id)?"active":"",handler:()=>g(L.id)},key:z},null,8,["data"])}),128))])])]),_:3})])):createCommentVNode("v-if",!0)}}),_hoisted_1$h={class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-search"},_sfc_main$v$1=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$h,[createVNode(_sfc_main$1r$1,{icon:unref(search_default),onClick:L[0]||(L[0]=z=>g.value=!g.value),class:normalizeClass({"icon-active":g.value})},null,8,["icon","class"]),g.value?(openBlock(),createBlock(Teleport$1,{key:0,to:".m-editor-page-bar-tabs"},[i.value?(openBlock(),createBlock(unref(_sfc_main$d$2),{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("v-if",!0)])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$g={class:"m-editor-page-bar-tabs"},_hoisted_2$6=["data-page-id","onClick"],_hoisted_3$2={class:"m-editor-page-bar-title"},_hoisted_4$2=["title"],_sfc_main$u$1=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})},z=ie=>{t.remove(ie)},V=useTemplateRef("pageBarScrollContainer"),j=useTemplateRef("pageBarItems");return watch(r,ie=>{var ae;if(!ie||!((ae=V.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)V.value.scroll("start");else if(ie.id===re.dataset.pageId)V.value.scroll("end");else{const le=j.value.find(Ce=>Ce.dataset.pageId===ie.id);if(!le)return;const de=le.getBoundingClientRect(),ue=de.left-oe.getBoundingClientRect().left,{itemsContainerWidth:he}=V.value,pe=he-ue-de.width,_e=V.value.getTranslateLeft();(ue+_e<0||ue+de.width>he-_e)&&V.value.scrollTo(pe)}}),(ie,oe)=>(openBlock(),createElementBlock("div",_hoisted_1$g,[createVNode(_sfc_main$x$1,{ref:"pageBarScrollContainer","page-bar-sort-options":ie.pageBarSortOptions,length:y.value.length},{prepend:withCtx(()=>[renderSlot(ie.$slots,"page-bar-add-button",{},()=>[createVNode(_sfc_main$y$1)]),createVNode(_sfc_main$v$1,{query:g.value,"onUpdate:query":oe[0]||(oe[0]=re=>g.value=re)},null,8,["query"]),createVNode(_sfc_main$w$1,{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$2,[renderSlot(ie.$slots,"page-bar-title",{page:re},()=>[createBaseVNode("span",{title:re.name},toDisplayString(re.name||re.id),9,_hoisted_4$2)])]),createVNode(unref(_sfc_main$i$3),{"popper-class":"page-bar-popover",placement:"top",trigger:"hover",width:160,"destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{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$z$1,{data:{type:"button",text:"复制",icon:unref(document_copy_default),handler:()=>L(re)}},null,8,["data"]),createVNode(_sfc_main$z$1,{data:{type:"button",text:"删除",icon:unref(delete_default),handler:()=>z(re)}},null,8,["data"])])])]),_:2},1024)],10,_hoisted_2$6)}),128))]),_:3},8,["page-bar-sort-options","length"])]))}}),_hoisted_1$f={class:"m-editor-empty-panel"},_hoisted_2$5={class:"m-editor-empty-content"},_sfc_main$t$1=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$f,[createBaseVNode("div",_hoisted_2$5,[createBaseVNode("div",{class:"m-editor-empty-button",onClick:r[0]||(r[0]=g=>t(unref(NodeType).PAGE))},[createBaseVNode("div",null,[createVNode(_sfc_main$1r$1,{icon:unref(plus_default)},null,8,["icon"])]),r[2]||(r[2]=createBaseVNode("p",null,"新增页面",-1))]),i.disabledPageFragment?createCommentVNode("v-if",!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$1r$1,{icon:unref(plus_default)},null,8,["icon"])]),r[3]||(r[3]=createBaseVNode("p",null,"新增页面片",-1))]))])]))}}),_hoisted_1$e={class:"m-editor",ref:"content",style:{"min-width":"900px"}},_sfc_main$s$1=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")),z=computed$1(()=>t.get("pageLength")||0),V=computed$1(()=>i.get("showSrc")),j=computed$1(()=>i.get("columnWidth"));watch(z,()=>{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$e,[renderSlot(le.$slots,"header"),renderSlot(le.$slots,"nav"),renderSlot(le.$slots,"content-before"),V.value?renderSlot(le.$slots,"src-code",{key:0},()=>[createVNode(_sfc_main$1q$1,{class:"m-editor-content","init-values":k.value,options:unref(e),onSave:ae},null,8,["init-values","options"])]):(openBlock(),createBlock(_sfc_main$A$1,{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$t$1,{"disabled-page-fragment":le.disabledPageFragment},null,8,["disabled-page-fragment"])]),renderSlot(le.$slots,"page-bar",{},()=>[createVNode(_sfc_main$u$1,{"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$r$1=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")),z=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(z.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),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),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),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,_e)=>(openBlock(),createBlock(_sfc_main$z$1,{data:pe,key:_e},null,8,["data"]))),128))],6)}),128))],4))}}),_hoisted_1$d={class:"m-editor-props-form-panel"},_sfc_main$q$1=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",{}),z=ref$1(!1),V=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 _e=await((pe=oe.value)==null?void 0:pe.submitForm());r("submit",_e,he)}catch(_e){r("submit-error",_e)}},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$d,[renderSlot(ue.$slots,"props-form-panel-header"),createVNode(unref(_sfc_main$d$3),null,{default:withCtx(()=>[createVNode(unref(_sfc_main$d$2),{ref:"configForm",class:normalizeClass(V.value),"popper-class":"m-editor-props-panel-popper ".concat(V.value),"label-width":ue.labelWidth,"label-position":ue.labelPosition,size:V.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("v-if",!0):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"m-editor-props-panel-src-icon",circle:"",title:"源码",type:z.value?"primary":"",onClick:he[0]||(he[0]=pe=>z.value=!z.value)},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(document_default)},null,8,["icon"])]),_:1},8,["type"])),z.value?(openBlock(),createBlock(_sfc_main$1q$1,{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("v-if",!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 z={...n.get("columnWidth")};L?(z.right+=t.value,z.center-=t.value):(z.right-=t.value,z.center+=t.value),z.center<0&&(z.right=z.right+z.center-MIN_CENTER_COLUMN_WIDTH,z.center=MIN_CENTER_COLUMN_WIDTH,t.value=z.right/2),e.setItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,z.right,{protocol:Protocol.NUMBER}),n.set("columnWidth",z)};return{showStylePanel:g,showStylePanelToggleButton:y,toggleStylePanel:k}},_hoisted_1$c={ref:"propsPanel",class:"m-editor-props-panel"},_hoisted_2$4={class:"m-editor-props-style-panel-title"},_sfc_main$p$1=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({}),z=ref$1([]),V=computed$1(()=>r.get("node")),j=computed$1(()=>r.get("nodes")),ie=[{tabPosition:"right",items:styleTabConfig.items}],oe=async()=>{if(!V.value){z.value=[];return}const Ne=V.value.type||(V.value.items?"container":"text");z.value=await y.getPropsConfig(Ne),L.value=V.value};watchEffect(oe),y.on("props-configs-change",oe),onBeforeUnmount(()=>{y.off("props-configs-change",oe)});const re=async(Ne,$e)=>{var Oe;try{Ne.id||(Ne.id=L.value.id);const Fe={...Ne,style:{}};Ne.style&&(Object.entries(Ne.style).forEach(([Et,ze])=>{ze!==""&&Fe.style&&(Fe.style[Et]=ze)}),(Oe=$e==null?void 0:$e.changeRecords)==null||Oe.forEach(Et=>{var ze;(ze=Et.propPath)!=null&&ze.startsWith("style")&&Et.value===""&&setValueByKeyPath(Et.propPath,Et.value,Fe)})),r.update(Fe,{changeRecords:$e==null?void 0:$e.changeRecords})}catch(Fe){i("submit-error",Fe)}},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 Oe=globalThis.parseFloat(getComputedStyle(ue.value).getPropertyValue("--props-style-panel-width"))-Ne;Oe>g.get("columnWidth").right&&(Oe=g.get("columnWidth").right-40),he.value=Math.max(Oe,0)};watch(he,Ne=>{var $e;($e=ue.value)==null||$e.style.setProperty("--props-style-panel-width","".concat(Ne,"px")),k.setItem(PROPS_PANEL_WIDTH_STORAGE_KEY,Ne,{protocol:Protocol.NUMBER})});const{showStylePanel:_e,showStylePanelToggleButton:Ce,toggleStylePanel:xe}=useStylePanel({storageService:k,uiService:g},he),Ie=useTemplateRef("propertyFormPanel");return e({getFormState(){var Ne,$e;return($e=(Ne=Ie.value)==null?void 0:Ne.configForm)==null?void 0:$e.formState},submit:re}),(Ne,$e)=>withDirectives((openBlock(),createElementBlock("div",_hoisted_1$c,[renderSlot(Ne.$slots,"props-panel-header"),createVNode(_sfc_main$q$1,{ref:"propertyFormPanel",class:normalizeClass(["m-editor-props-property-panel",{"show-style-panel":unref(_e)}]),config:z.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(_e)?(openBlock(),createBlock(_sfc_main$B$1,{key:0,onChange:pe})):createCommentVNode("v-if",!0),unref(_e)?(openBlock(),createBlock(_sfc_main$q$1,{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$4,[$e[2]||($e[2]=createBaseVNode("span",null,"样式",-1)),createBaseVNode("div",null,[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",onClick:$e[0]||($e[0]=Oe=>unref(xe)(!1))},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default)},null,8,["icon"])]),_:1})])])]),_:1},8,["values","disabledShowSrc","extendState"])):createCommentVNode("v-if",!0),unref(Ce)&&!unref(_e)?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:2,class:"m-editor-props-panel-style-icon",circle:"",onClick:$e[1]||($e[1]=Oe=>unref(xe)(!0))},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(sugar_default)},null,8,["icon"])]),_:1})):createCommentVNode("v-if",!0)],512)),[[vShow,j.value.length===1]])}}),_sfc_main$o$1=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),z=ref$1([]),V=useZIndex$1(),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=Ce=>{var xe,Ie;return((xe=g.value)==null?void 0:xe.contains(Ce))||((Ie=k.value)==null?void 0:Ie.contains(Ce))},ae=()=>{var Ce;L.value&&(L.value=!1,(Ce=k.value)==null||Ce.hide(),r("hide"))},le=Ce=>{i.autoHide&&Ce.button===0&&ae()},de=Ce=>{if(!i.autoHide)return;const xe=Ce.target;!L.value||!xe||re(xe)||ae()},ue=Ce=>{var Ne;const xe=((Ne=g.value)==null?void 0:Ne.clientHeight)||0;let Ie=Ce.clientY;xe+Ce.clientY>document.body.clientHeight&&(Ie=document.body.clientHeight-xe),ie.value={top:Ie,left:Ce.clientX}},he=Ce=>{L.value=!0,nextTick(()=>{Ce&&ue(Ce),j.value=V.nextZIndex(),r("show")})},pe=(Ce,xe)=>{const Ie=Ce;typeof Ce=="object"&&(z.value=Ie.items||[],setTimeout(()=>{var Ne,$e,Oe;if(L.value&&g.value){let Fe=g.value.offsetTop;(Ne=y.value)!=null&&Ne[xe].$el&&(Fe=(($e=y.value)==null?void 0:$e[xe].$el.getBoundingClientRect()).top),(Oe=k.value)==null||Oe.show({clientX:g.value.offsetLeft+g.value.clientWidth-2,clientY:Fe})}},0))},_e=()=>{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}),(Ce,xe)=>{const Ie=resolveComponent("content-menu",!0);return openBlock(),createBlock(Transition,{name:"fade",persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{class:"magic-editor-content-menu",ref:"menu",style:normalizeStyle(oe.value),onMouseenter:xe[0]||(xe[0]=Ne=>_e()),onContextmenu:xe[1]||(xe[1]=withModifiers(()=>{},["prevent"]))},[renderSlot(Ce.$slots,"title"),createBaseVNode("div",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ce.menuData,(Ne,$e)=>(openBlock(),createBlock(_sfc_main$z$1,{"event-type":"mouseup",ref_for:!0,ref:"buttons",class:normalizeClass({active:Ce.active&&Ne.id===Ce.active}),data:Ne,key:$e,onMouseup:le,onMouseenter:Oe=>pe(Ne,$e)},null,8,["class","data","onMouseenter"]))),128))]),(openBlock(),createBlock(Teleport$1,{to:"body"},[z.value.length?(openBlock(),createBlock(Ie,{key:0,class:"sub-menu",ref:"subMenu",active:Ce.active,"menu-data":z.value,"is-sub-menu":!0,onHide:ae},null,8,["active","menu-data"])):createCommentVNode("v-if",!0)]))],36),[[vShow,L.value]])]),_:3})}}}),_sfc_main$n$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$n$3),{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$o$3),null,{default:withCtx(()=>[createVNode(unref(search_default))]),_:1})]),_:1},8,["modelValue"]))}}),_hoisted_1$b=["draggable","data-node-id","data-parent-id","data-parents-id","data-is-container"],_hoisted_2$3={class:"tree-node-label"},_hoisted_3$1={class:"tree-node-tool"},_hoisted_4$1={key:0,class:"m-editor-tree-node-children"},_sfc_main$m$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),z=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})),V=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:V,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$1r$1,{class:"expand-icon",style:normalizeStyle(z.value?"":"color: transparent; cursor: default"),icon:g.value?unref(arrow_down_default):unref(arrow_right_default),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$3,[renderSlot(de.$slots,"tree-node-label",{data:de.data},()=>[createTextVNode(toDisplayString("".concat(de.data.name," (").concat(de.data.id,")")),1)])]),createBaseVNode("div",_hoisted_3$1,[renderSlot(de.$slots,"tree-node-tool",{data:de.data})])])])],38),z.value&&g.value?(openBlock(),createElementBlock("div",_hoisted_4$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(de.data.items,_e=>(openBlock(),createBlock(he,{key:_e.id,data:_e,parent:de.data,parentsId:[...de.parentsId,de.data.id],"node-status-map":de.nodeStatusMap,indent:de.indent+de.nextLevelIndentIncrement},{"tree-node-content":withCtx(({data:Ce})=>[renderSlot(de.$slots,"tree-node-content",{data:Ce})]),"tree-node-label":withCtx(({data:Ce})=>[renderSlot(de.$slots,"tree-node-label",{data:Ce})]),"tree-node-tool":withCtx(({data:Ce})=>[renderSlot(de.$slots,"tree-node-tool",{data:Ce})]),_:2},1032,["data","parent","parentsId","node-status-map","indent"]))),128))])):createCommentVNode("v-if",!0)],40,_hoisted_1$b)),[[vShow,k.value]])}}}),_hoisted_1$a={key:1,class:"m-editor-tree-empty"},_sfc_main$l$1=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$m$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$a,[createBaseVNode("p",null,toDisplayString(r.emptyText),1)]))],32)}}}),_sfc_main$k$1=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),_e=((xe=k.get("root"))==null?void 0:xe.items.map(Ne=>{var $e;return{name:(($e=Ne.devconfig)==null?void 0:$e.tabName)||Ne.name,type:"node",id:"".concat(ue,"_").concat(Ne.id),key:Ne.id,items:[]}}))||[];return pe&&Object.entries(pe.deps).forEach(([Ne,$e])=>{var Fe;const Oe=_e.find(Et=>{var ze;return Et.key===((ze=$e.data)==null?void 0:ze.pageId)});(Fe=Oe==null?void 0:Oe.items)==null||Fe.push({name:$e.name,type:"node",id:"".concat(Oe.id,"_").concat(Ne),key:Ne,items:$e.keys.map(Et=>({name:"".concat(Et),id:"".concat(pe.id,"_").concat(Ne,"_").concat(Et),type:"key"}))})}),{id:ue,key:ue,name:he.name,type:"code",codeBlockContent:g.getCodeContentById(ue),items:_e.length>1?_e.filter(Ne=>{var $e;return($e=Ne.items)==null?void 0:$e.length}):((Ie=_e[0])==null?void 0:Ie.items)||[]}})),z=(ue,he)=>ue?"".concat(he.name).concat(he.id).toLocaleLowerCase().includes(ue.toLocaleLowerCase()):!0,{nodeStatusMap:V}=useNodeStatus$1(L),{filterTextChangeHandler:j}=useFilter(L,V,z),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 Ce;const he=L.value.find(xe=>xe.id===ue),pe=!!((Ce=he==null?void 0:he.items)!=null&&Ce.length),_e=g.getUndeletableList()||[];!pe&&!_e.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:V,filter:j,deleteCode:le}),(ue,he)=>(openBlock(),createBlock(_sfc_main$l$1,{data:L.value,"node-status-map":unref(V),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$2$4),{key:0,effect:"dark",content:ie.value?"编辑":"查看",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:ie.value?unref(edit_default):unref(view_default),class:"edit-icon",onClick:withModifiers(_e=>ae("".concat(pe.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1032,["content"])):createCommentVNode("v-if",!0),pe.type==="code"&&ie.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,effect:"dark",content:"删除",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default),class:"edit-icon",onClick:withModifiers(_e=>le("".concat(pe.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1024)):createCommentVNode("v-if",!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),handler:async({codeBlockService:k})=>{if(!i)return;const L=k.getCodeContentById(i);if(!L)return;const z=await k.getUniqueId();k.setCodeDslById(z,cloneDeep(L))}},{type:"button",text:"删除",icon:delete_default,handler:()=>{i&&n(i)}}],nodeContentMenuHandler:(k,L)=>{var z;k.preventDefault(),L.type==="code"&&((z=t.value)==null||z.show(k),L.id?i="".concat(L.id):i="")},contentMenuHideHandler:()=>{i=""}}},_hoisted_1$9={class:"search-wrapper"},_sfc_main$j$1=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:z,createCodeBlock:V,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$d$3),{class:"m-editor-code-block-list m-editor-layer-panel"},{default:withCtx(()=>[renderSlot(he.$slots,"code-block-panel-header",{},()=>[createBaseVNode("div",_hoisted_1$9,[createVNode(_sfc_main$n$1,{onSearch:oe}),r.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"create-code-button",type:"primary",size:"small",onClick:unref(V)},{default:withCtx(()=>[...pe[0]||(pe[0]=[createTextVNode("新增",-1)])]),_:1},8,["onClick"])):createCommentVNode("v-if",!0),renderSlot(he.$slots,"code-block-panel-search")])]),createCommentVNode(" 代码块列表 "),createVNode(_sfc_main$k$1,{ref:"codeBlockList","custom-error":he.customError,indent:he.indent,"next-level-indent-increment":he.nextLevelIndentIncrement,onEdit:unref(L),onRemove:unref(z),onNodeContextmenu:unref(ae)},{"code-block-panel-tool":withCtx(({id:_e,data:Ce})=>[renderSlot(he.$slots,"code-block-panel-tool",{id:_e,data:Ce})]),_:3},8,["custom-error","indent","next-level-indent-increment","onEdit","onRemove","onNodeContextmenu"])]),_:3}),unref(k)?(openBlock(),createBlock(_sfc_main$1e$1,{key:0,ref_key:"codeBlockEditor",ref:y,disabled:!r.value,content:unref(k),onSubmit:unref(j),onClose:re},null,8,["disabled","content","onSubmit"])):createCommentVNode("v-if",!0),(openBlock(),createBlock(Teleport$1,{to:"body"},[ue.value.length?(openBlock(),createBlock(_sfc_main$o$1,{key:0,"menu-data":ue.value,ref:"menu",style:{overflow:"initial"},onHide:unref(de)},null,8,["menu-data","onHide"])):createCommentVNode("v-if",!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 z;k.id?n.update(k,{changeRecords:L.changeRecords}):n.add(k),(z=t.value)==null||z.hide()}}},_sfc_main$i$1=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(),z=ref$1({}),V=ref$1([]),{height:j}=useEditorContentHeight(),ie=inject("parentFloating",ref$1(null)),{boxPosition:oe,calcBoxPosition:re}=useNextFloatBoxPosition(k,ie);watchEffect(()=>{z.value=i.values,V.value=L.getFormConfig(z.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=z.value)!=null&&ue.id&&y("open",z.value.id):y("close")})}),e({show(){re(),r.value=!0},hide(){r.value=!1}}),(de,ue)=>(openBlock(),createBlock(_sfc_main$1j$1,{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$1L),{"label-width":"80px",title:de.title,config:V.value,values:z.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$h$1=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")),z=computed$1(()=>r.getTargets(DepTargetType.DATA_SOURCE)),V=computed$1(()=>r.getTargets(DepTargetType.DATA_SOURCE_METHOD)),j=computed$1(()=>r.getTargets(DepTargetType.DATA_SOURCE_COND)),ie=(Ie,Ne,$e)=>Ie.keys.map(Oe=>({name:Oe,id:"".concat($e,"_").concat(Oe),type:"key",isMethod:Ne==="method",isCond:Ne==="cond"})),oe=(Ie,Ne,$e,Oe)=>({name:Ne.name,type:"node",id:"".concat(Oe,"_").concat(Ie),key:Ie,items:ie(Ne,$e,"".concat(Oe,"_").concat(Ie))}),re=(Ie,Ne,$e,Oe)=>{Object.entries($e).forEach(([Fe,Et])=>{const ze=Ne.find(Ve=>{var kt;return Ve.key===((kt=Et.data)==null?void 0:kt.pageId)}),qe=ze==null?void 0:ze.items.find(Ve=>Ve.key===Fe);qe?qe.items=qe.items.concat(ie(Et,Oe,qe.key)):ze==null||ze.items.push(oe(Fe,Et,Oe,ze.id))})},ae=computed$1(()=>L.value.map(Ie=>{var Et,ze,qe,Ve,kt;const Ne=((Et=z.value[Ie.id])==null?void 0:Et.deps)||{},$e=((ze=V.value[Ie.id])==null?void 0:ze.deps)||{},Oe=((qe=j.value[Ie.id])==null?void 0:qe.deps)||{},Fe=((Ve=g.get("root"))==null?void 0:Ve.items.map(Ue=>{var Dt;return{name:((Dt=Ue.devconfig)==null?void 0:Dt.tabName)||Ue.name,type:"node",id:"".concat(Ie.id,"_").concat(Ue.id),key:Ue.id,items:[]}}))||[];return re(Ie.id,Fe,Ne),re(Ie.id,Fe,$e,"method"),re(Ie.id,Fe,Oe,"cond"),{id:Ie.id,key:Ie.id,name:Ie.title,type:"ds",items:Fe.length>1?Fe.filter(Ue=>Ue.items.length):((kt=Fe[0])==null?void 0:kt.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)},_e=Ie=>{const Ne=g.get("stage");g.select(Ie),Ne==null||Ne.select(Ie)},Ce=(Ie,Ne)=>{Ne.type==="node"&&_e(Ne.key)},xe=(Ie,Ne)=>{i("node-contextmenu",Ie,Ne)};return e({nodeStatusMap:de,filter:ue}),(Ie,Ne)=>(openBlock(),createBlock(_sfc_main$l$1,{data:ae.value,"node-status-map":unref(de),indent:Ie.indent,"next-level-indent-increment":Ie.nextLevelIndentIncrement,onNodeClick:Ce,onNodeContextmenu:xe},{"tree-node-label":withCtx(({data:$e})=>[createBaseVNode("div",{class:normalizeClass({ds:$e.type==="ds",hook:$e.type==="key",disabled:$e.type==="key"||$e.type==="ds"})},toDisplayString($e.name)+" "+toDisplayString($e.key?"(".concat($e.key,")"):""),3)]),"tree-node-tool":withCtx(({data:$e})=>[$e.type==="ds"?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,effect:"dark",content:k.value?"编辑":"查看",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:k.value?unref(edit_default):unref(view_default),class:"edit-icon",onClick:withModifiers(Oe=>he("".concat($e.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1032,["content"])):createCommentVNode("v-if",!0),$e.type==="ds"&&k.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,effect:"dark",content:"删除",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default),class:"edit-icon",onClick:withModifiers(Oe=>pe("".concat($e.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1024)):createCommentVNode("v-if",!0),renderSlot(Ie.$slots,"data-source-panel-tool",{data:$e})]),_: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),handler:({dataSourceService:y})=>{if(!t)return;const k=y.getDataSourceById(t);k&&y.add(cloneDeep(k))}},{type:"button",text:"删除",icon:delete_default,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$8={class:"search-wrapper"},_sfc_main$g$1=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:z}=useDataSourceEdit(i),V=()=>{if(re.value)for(const[,pe]of re.value.nodeStatusMap.entries())pe.selected=!1};watch(g,pe=>{if(re.value&&pe.id)for(const[_e,Ce]of re.value.nodeStatusMap.entries())Ce.selected=_e===pe.id});const j=computed$1(()=>[{text:"基础",type:"base"},{text:"HTTP",type:"http"}].concat(i.get("datasourceTypeList"))),ie=pe=>{if(!r.value)return;const _e=j.value.find(Ce=>Ce.type===pe);g.value=mergeWith({type:pe,title:_e==null?void 0:_e.text},i.getFormValue(pe),(Ce,xe)=>{if(Array.isArray(xe))return xe}),y.value="新增".concat((_e==null?void 0:_e.text)||""),r.value.show()},oe=async pe=>{await tMagicMessageBox.confirm("确定删除?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),i.remove(pe)},re=useTemplateRef("dataSourceList"),ae=pe=>{var _e;(_e=re.value)==null||_e.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,_e)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$d$3),{class:"data-source-list-panel m-editor-layer-panel"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$8,[createVNode(_sfc_main$n$1,{onSearch:ae}),unref(k)?(openBlock(),createBlock(unref(_sfc_main$i$3),{key:0,placement:"right",trigger:"hover","popper-class":"data-source-list-panel-add-menu","destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{type:"primary",size:"small"},{default:withCtx(()=>[..._e[0]||(_e[0]=[createTextVNode("新增",-1)])]),_:1})]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(j.value,(Ce,xe)=>(openBlock(),createBlock(_sfc_main$z$1,{data:{type:"button",text:Ce.text,handler:()=>{ie(Ce.type)}},key:xe},null,8,["data"]))),128))]),_:1})):createCommentVNode("v-if",!0),renderSlot(pe.$slots,"data-source-panel-search")]),createCommentVNode(" 数据源列表 "),createVNode(_sfc_main$h$1,{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$i$1,{ref_key:"editDialog",ref:r,disabled:!unref(k),values:unref(g),title:unref(y),onSubmit:unref(z),onClose:V},null,8,["disabled","values","title","onSubmit"]),(openBlock(),createBlock(Teleport$1,{to:"body"},[he.value.length?(openBlock(),createBlock(_sfc_main$o$1,{key:0,"menu-data":he.value,ref:"menu",style:{overflow:"initial"},onHide:unref(ue)},null,8,["menu-data","onHide"])):createCommentVNode("v-if",!0)]))],64))}}),_hoisted_1$7={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$f$1=defineComponent({name:"MEditorFolderMinusIcon",__name:"FolderMinusIcon",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$7,[...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,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),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),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"),z=n.value.$el.getBoundingClientRect(),V=(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(),(z.left||0)-((V==null?void 0:V.left)||0))/t.get("zoom"),ie=calcValueByFontsize((k=L==null?void 0:L.renderer)==null?void 0:k.getDocument(),(z.top||0)-((V==null?void 0:V.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$e$1=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"),z=computed$1(()=>y.get("node")),V=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=z.value)==null?void 0:le.type)==="tabs"?[{text:"标签页",type:"button",icon:files_default,handler:()=>{y.add({type:"tab-pane"})}}]:(de=z.value)!=null&&de.items?j.value.reduce((ue,he,pe)=>ue.concat(ie(he),pei.customContentMenu([{type:"button",text:"全部折叠",icon:_sfc_main$f$1,display:()=>isPage(z.value)||isPageFragment(z.value),handler:()=>{r("collapse-all")}},{type:"button",text:"新增",icon:markRaw(plus_default),display:()=>{var le,de;return((le=z.value)==null?void 0:le.items)&&((de=V.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$o$1,{"menu-data":re.value,ref:"menu",style:{overflow:"initial"}},null,8,["menu-data"]))}}),_sfc_main$d$1=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$1r$1,{key:0,icon:unref(hide_default),onClick:g[0]||(g[0]=withModifiers(y=>i(!0),["stop"])),title:"点击显示"},null,8,["icon"])):(openBlock(),createBlock(_sfc_main$1r$1,{key:1,icon:unref(view_default),onClick:g[1]||(g[1]=withModifiers(y=>i(!1),["stop"])),class:"node-lock",title:"点击隐藏"},null,8,["icon"]))],64)):createCommentVNode("v-if",!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)},V=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:V}},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),z=L.node;let V=L.parent;if(!V||!z)return;let j=-1;Array.isArray(z.items)&&dragState.dropType==="inner"?(j=z.items.length,V=z):j=getNodeIndex(dragState.dragOverNodeId,V),dragState.dropType==="after"&&(j+=1);const ie=n.get("nodes");ie.find(oe=>"".concat(oe.id)==="".concat(y.id))?n.dragTo(ie,V,j):n.dragTo([y],V,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:z}=k.getBoundingClientRect(),V=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}}Vz*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[z,V]of r.value.entries())V.selected=k.some(j=>j.id===z),V.selected&&getNodePath(z,(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,z=>{var V;(V=r.value)==null||V.set(z.id,{visible:!0,expand:Array.isArray(z.items),selected:!0,draggable:!0})})})};n.on("add",g);const y=k=>{k.forEach(L=>{traverseNode(L,z=>{var V;(V=r.value)==null||V.delete(z.id)})})};return n.on("remove",y),onBeforeUnmount(()=>{n.off("remove",y),n.off("add",g)}),{nodeStatusMaps:i,nodeStatusMap:r}},_sfc_main$c$1=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 _e="";return pe.name?_e=pe.name:pe.items&&(_e="container"),"".concat(pe.id).concat(_e).concat(pe.type).includes(he)},{filterTextChangeHandler:z}=useFilter(g,y,L),V=()=>{if(!r.value||!y.value)return;const he=y.value.entries();for(const[pe,_e]of he)pe!==r.value.id&&(_e.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$d$3),{class:"m-editor-layer-panel"},{default:withCtx(()=>[renderSlot(he.$slots,"layer-panel-header"),createVNode(_sfc_main$n$1,{onSearch:unref(z)},null,8,["onSearch"]),r.value&&unref(y)?(openBlock(),createBlock(_sfc_main$l$1,{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:_e})=>[renderSlot(he.$slots,"layer-node-content",{data:_e})]),"tree-node-tool":withCtx(({data:_e})=>[renderSlot(he.$slots,"layer-node-tool",{data:_e},()=>[createVNode(_sfc_main$d$1,{data:_e},null,8,["data"])])]),"tree-node-label":withCtx(({data:_e})=>[renderSlot(he.$slots,"layer-node-label",{data:_e})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment","onNodeDragover","onNodeDragstart","onNodeDragleave","onNodeDragend","onNodeContextmenu","onNodeMouseenter","onNodeClick"])):createCommentVNode("v-if",!0),(openBlock(),createBlock(Teleport$1,{to:"body"},[createVNode(_sfc_main$e$1,{ref:"menu","layer-content-menu":he.layerContentMenu,"custom-content-menu":he.customContentMenu,onCollapseAll:V},null,8,["layer-content-menu","custom-content-menu"])]))]),_:3}))}}),_hoisted_1$6=["onClick","onDragstart"],_hoisted_2$2$1=["title"],_sfc_main$b$1=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 z,V,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;z&&(globalThis.clearTimeout(z),z=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),V=0,j=0},ae=le=>{if(le.clientX!==V||le.clientY!==j){V=le.clientX,j=le.clientY,z&&(globalThis.clearTimeout(z),z=void 0);return}z||!y.value||(z=y.value.delayedMarkContainer(le))};return(le,de)=>(openBlock(),createBlock(unref(_sfc_main$d$3),null,{default:withCtx(()=>[renderSlot(le.$slots,"component-list-panel-header"),createVNode(_sfc_main$n$1,{onSearch:t}),renderSlot(le.$slots,"component-list",{componentGroupList:k.value},()=>[createVNode(unref(_sfc_main$A$2),{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$z$2),{key:he,name:"".concat(he)},{title:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(grid_default)},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:_e=>ie(pe),onDragstart:_e=>oe(pe,_e),onDragend:re,onDrag:ae},[renderSlot(le.$slots,"component-list-item",{component:pe},()=>[createVNode(unref(_sfc_main$2$4),{placement:"right",disabled:!pe.desc,content:pe.desc},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:pe.icon},null,8,["icon"])]),_:2},1032,["disabled","content"]),createBaseVNode("span",{title:pe.text},toDisplayString(pe.text),9,_hoisted_2$2$1)])],40,_hoisted_1$6))),128))]),_:2},1032,["name"])):createCommentVNode("v-if",!0)],64))),256))]),_:3},8,["model-value"])])]),_:3}))}}),_hoisted_1$5={key:0,class:"m-editor-sidebar"},_hoisted_2$1$1={class:"m-editor-sidebar-header"},_hoisted_3$8=["draggable","onClick","onDragend"],_hoisted_4$6={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$a$1=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 Ce;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),z=computed$1(()=>r.get("columnWidth")[ColumnLayout.LEFT]),{height:V}=useEditorContentHeight(),j=ref$1(0),ie=watch(V,xe=>{xe&&(j.value=xe*.5,nextTick().then(()=>{ie()}))},{immediate:!0}),oe=ref$1((Ce=t.data)==null?void 0:Ce.status),re=xe=>{const Ie={[SideItemKey.COMPONENT_LIST]:{$key:SideItemKey.COMPONENT_LIST,type:"component",icon:goods_default,text:"组件",component:_sfc_main$b$1,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$c$1,slots:{}},[SideItemKey.CODE_BLOCK]:{$key:"code-block",type:"component",icon:edit_pen_default,text:"代码编辑",component:_sfc_main$j$1,props:{indent:t.indent,nextLevelIndentIncrement:t.nextLevelIndentIncrement,customContentMenu:t.customContentMenu},slots:{}},[SideItemKey.DATA_SOURCE]:{$key:SideItemKey.DATA_SOURCE,type:"component",icon:coin_default,text:"数据源",component:_sfc_main$g$1,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 $e;return oe.value===(($e=ae.value.find(Oe=>Oe.$key===Ne))==null?void 0:$e.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 _e=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$5,[createBaseVNode("div",_hoisted_2$1$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(ae.value,(Ne,$e)=>{var Oe,Fe,Et;return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-sidebar-header-item",{"is-active":oe.value===Ne.text}]),draggable:(Oe=Ne.draggable)!=null?Oe:!0,key:(Fe=Ne.$key)!=null?Fe:$e,style:normalizeStyle(Ne.tabStyle||{}),onClick:ze=>_e(Ne,$e),onDragstart:Ie[0]||(Ie[0]=(...ze)=>unref(de)&&unref(de)(...ze)),onDragend:ze=>unref(ue)(Ne.$key,ze)},[Ne.icon?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:Ne.icon},null,8,["icon"])):createCommentVNode("v-if",!0),Ne.text?(openBlock(),createElementBlock("div",_hoisted_4$6,toDisplayString(Ne.text),1)):createCommentVNode("v-if",!0)],46,_hoisted_3$8)),[[vShow,!((Et=unref(he)[Ne.$key])!=null&&Et.status)]])}),128))]),(openBlock(!0),createElementBlock(Fragment,null,renderList(ae.value,(Ne,$e)=>{var Oe,Fe,Et,ze,qe,Ve,kt,Ue,Dt,jt,ei,ti,hi,ui;return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-sidebar-content",{"m-editor-dep-collecting":y.value}]),key:(Oe=Ne.$key)!=null?Oe:$e},[Ne!=null&&Ne.component&&!((Fe=unref(he)[Ne.$key])!=null&&Fe.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"||(Et=Ne.slots)!=null&&Et.componentList?{name:"component-list",fn:withCtx(({componentGroupList:mi})=>{var pi;return[Ne.$key==="component-list"?renderSlot(xe.$slots,"component-list",{key:0,componentGroupList:mi}):(pi=Ne.slots)!=null&&pi.componentList?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.componentList),{key:1})):createCommentVNode("v-if",!0)]}),key:"0"}:void 0,Ne.$key==="component-list"||(ze=Ne.slots)!=null&&ze.componentListPanelHeader?{name:"component-list-panel-header",fn:withCtx(()=>{var mi;return[Ne.$key==="component-list"?renderSlot(xe.$slots,"component-list-panel-header",{key:0}):(mi=Ne.slots)!=null&&mi.componentListPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.componentListPanelHeader),{key:1})):createCommentVNode("v-if",!0)]}),key:"1"}:void 0,Ne.$key==="component-list"||(qe=Ne.slots)!=null&&qe.componentListItem?{name:"component-list-item",fn:withCtx(({component:mi})=>{var pi;return[Ne.$key==="component-list"?renderSlot(xe.$slots,"component-list-item",{key:0,component:mi}):(pi=Ne.slots)!=null&&pi.componentListItem?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.componentListItem),{key:1,component:mi},null,8,["component"])):createCommentVNode("v-if",!0)]}),key:"2"}:void 0,Ne.$key==="layer"||(Ve=Ne.slots)!=null&&Ve.layerPanelHeader?{name:"layer-panel-header",fn:withCtx(()=>{var mi;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-panel-header",{key:0}):(mi=Ne.slots)!=null&&mi.layerPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerPanelHeader),{key:1})):createCommentVNode("v-if",!0)]}),key:"3"}:void 0,Ne.$key==="code-block"||(kt=Ne.slots)!=null&&kt.codeBlockPanelHeader?{name:"code-block-panel-header",fn:withCtx(()=>{var mi;return[Ne.$key==="code-block"?renderSlot(xe.$slots,"code-block-panel-header",{key:0}):(mi=Ne.slots)!=null&&mi.codeBlockPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.codeBlockPanelHeader),{key:1})):createCommentVNode("v-if",!0)]}),key:"4"}:void 0,Ne.$key==="code-block"||(Ue=Ne.slots)!=null&&Ue.codeBlockPanelTool?{name:"code-block-panel-tool",fn:withCtx(({id:mi,data:pi})=>{var ri;return[Ne.$key==="code-block"?renderSlot(xe.$slots,"code-block-panel-tool",{key:0,id:mi,data:pi}):(ri=Ne.slots)!=null&&ri.codeBlockPanelTool?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.codeBlockPanelTool),{key:1})):createCommentVNode("v-if",!0)]}),key:"5"}:void 0,Ne.$key==="code-block"||(Dt=Ne.slots)!=null&&Dt.codeBlockPanelSearch?{name:"code-block-panel-search",fn:withCtx(()=>{var mi;return[Ne.$key==="code-block"?renderSlot(xe.$slots,"code-block-panel-search",{key:0}):(mi=Ne.slots)!=null&&mi.codeBlockPanelSearch?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.codeBlockPanelSearch),{key:1})):createCommentVNode("v-if",!0)]}),key:"6"}:void 0,Ne.$key==="layer"||(jt=Ne.slots)!=null&&jt.layerNodeContent?{name:"layer-node-content",fn:withCtx(({data:mi})=>{var pi;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-node-content",{key:0,data:mi}):(pi=Ne.slots)!=null&&pi.layerNodeContent?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerNodeContent),{key:1,data:mi},null,8,["data"])):createCommentVNode("v-if",!0)]}),key:"7"}:void 0,Ne.$key==="layer"||(ei=Ne.slots)!=null&&ei.layerNodeLabel?{name:"layer-node-label",fn:withCtx(({data:mi})=>{var pi;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-node-label",{key:0,data:mi}):(pi=Ne.slots)!=null&&pi.layerNodeLabel?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerNodeTool),{key:1,data:mi},null,8,["data"])):createCommentVNode("v-if",!0)]}),key:"8"}:void 0,Ne.$key==="layer"||(ti=Ne.slots)!=null&&ti.layerNodeTool?{name:"layer-node-tool",fn:withCtx(({data:mi})=>{var pi;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-node-tool",{key:0,data:mi}):(pi=Ne.slots)!=null&&pi.layerNodeTool?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerNodeTool),{key:1,data:mi},null,8,["data"])):createCommentVNode("v-if",!0)]}),key:"9"}:void 0,Ne.$key==="data-source"||(hi=Ne.slots)!=null&&hi.dataSourcePanelTool?{name:"data-source-panel-tool",fn:withCtx(({data:mi})=>{var pi;return[Ne.$key==="data-source"?renderSlot(xe.$slots,"data-source-panel-tool",{key:0,data:mi}):(pi=Ne.slots)!=null&&pi.DataSourcePanelTool?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.DataSourcePanelTool),{key:1})):createCommentVNode("v-if",!0)]}),key:"10"}:void 0,Ne.$key==="data-source"||(ui=Ne.slots)!=null&&ui.dataSourcePanelSearch?{name:"data-source-panel-search",fn:withCtx(()=>{var mi;return[Ne.$key==="data-source"?renderSlot(xe.$slots,"data-source-panel-search",{key:0}):(mi=Ne.slots)!=null&&mi.dataSourcePanelSearch?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.dataSourcePanelSearch),{key:1})):createCommentVNode("v-if",!0)]}),key:"11"}:void 0]),1040)):createCommentVNode("v-if",!0)],2)),[[vShow,[Ne.text,Ne.$key,"".concat($e)].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$1r$1,{icon:unref(close_default),class:"close-icon",onClick:Ie[1]||(Ie[1]=withModifiers(Ne=>L.value=!1,["stop"]))},null,8,["icon"])])):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),(openBlock(),createBlock(Teleport$1,{to:"body"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ae.value,(Ne,$e)=>{var Oe,Fe;return openBlock(),createElementBlock(Fragment,null,[(Oe=unref(he)[Ne.$key])!=null&&Oe.status?(openBlock(),createBlock(_sfc_main$1j$1,{key:(Fe=Ne.$key)!=null?Fe:$e,visible:unref(he)[Ne.$key].status,"onUpdate:visible":Et=>unref(he)[Ne.$key].status=Et,height:j.value,"onUpdate:height":Ie[2]||(Ie[2]=Et=>j.value=Et),width:z.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("v-if",!0)])]),_:2},1032,["visible","onUpdate:visible","height","width","title","position"])):createCommentVNode("v-if",!0)],64)}),256))]))],64))}}),_sfc_main$9$1=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 z;onMounted(()=>{var oe;g.value&&(z=new Gesto(g.value,{container:window}),z.on("dragStart",re=>{re.inputEvent.stopPropagation(),re.inputEvent.preventDefault()}).on("drag",re=>{ie(j(re))}),(oe=r.value)==null||oe.addEventListener("wheel",V,!1))}),onBeforeUnmount(()=>{var oe;z&&z.off(),(oe=r.value)==null||oe.removeEventListener("wheel",V,!1)});const V=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$4={class:"m-editor-scroll-viewer-container",ref:"container"},_sfc_main$8$1=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$3("".concat(t.width))?"".concat(t.width,"px"):t.width,";\n height: ").concat(isNumber$3("".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,z.value=oe.scrollTop,y.value=oe.scrollWidth,k.value=oe.scrollHeight}))}),onBeforeUnmount(()=>{L.destroy()}),watch(()=>t.zoom,()=>{L.setZoom(t.zoom)});const z=ref$1(0),V=oe=>{z.value+=oe,L.scrollTo({top:z.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$4,[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$9$1,{key:0,"scroll-size":k.value,pos:z.value,size:oe.wrapHeight,onScroll:V},null,8,["scroll-size","pos","size"])):createCommentVNode("v-if",!0),y.value>oe.wrapWidth?(openBlock(),createBlock(_sfc_main$9$1,{key:1,"is-horizontal":!0,"scroll-size":y.value,pos:j.value,size:oe.wrapWidth,onScroll:ie},null,8,["scroll-size","pos","size"])):createCommentVNode("v-if",!0)],512))}}),_sfc_main$7$1=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")),z=computed$1(()=>t.get("nodes")),V=computed$1(()=>L.value?[L.value]:[]),{nodeStatusMap:j}=useNodeStatus(e),ie=(de,ue)=>ue.id===de,{filterTextChangeHandler:oe}=useFilter(V,j,ie),re=watch(k,de=>{de&&(nextTick(()=>re()),de.on("select",(ue,he)=>{var Ce;const _e=(((Ce=de.renderer)==null?void 0:Ce.getElementsFromPoint(he))||[]).map(xe=>getIdFromEl()(xe)).filter(xe=>!!xe);r.value=_e.length>3,oe(_e)}))},{immediate:!0});watch(z,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,_e;if(!g.value||!de)return;await nextTick();const ue=g.value.getBoundingClientRect(),he=((_e=(pe=y.value)==null?void 0:pe.target)==null?void 0:_e.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$2$4),{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("v-if",!0),L.value&&unref(j)&&r.value?(openBlock(),createBlock(_sfc_main$1j$1,{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$l$1,{class:"m-editor-node-list-menu magic-editor-layer-tree",data:V.value,"node-status-map":unref(j),onNodeClick:ae},null,8,["data","node-status-map"])]),_:1},8,["visible","position"])):createCommentVNode("v-if",!0)],64))}}),_hoisted_1$3$1={key:0,class:"m-editor-stage-overlay"},_sfc_main$6$1=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")),z=computed$1(()=>t.get("stage")),V=computed$1(()=>i.get("zoom")),j=computed$1(()=>i.get("columnWidth")),ie=computed$1(()=>i.get("frameworkRect")),oe=computed$1(()=>({transform:"scale(".concat(V.value,")")}));watch(z,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(V,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$3$1,[createVNode(unref(_sfc_main$o$3),{class:"m-editor-stage-overlay-close",size:"30",onClick:re},{default:withCtx(()=>[createVNode(unref(close_bold_default))]),_:1}),createVNode(_sfc_main$8$1,{class:"m-editor-stage",width:k.value,height:L.value,"wrap-width":j.value.center,"wrap-height":ie.value.height,zoom:V.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("v-if",!0)}}),_hoisted_1$2$1={viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_sfc_main$5$1=defineComponent({name:"MEditorCenterIcon",__name:"CenterIcon",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$2$1,[...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$4$1=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")),z=computed$1(()=>r.get("parent")),V=computed$1(()=>t.customContentMenu([{type:"button",text:"水平居中",icon:markRaw(_sfc_main$5$1),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(z,async()=>{var ae;if(!z.value)return y.value=!1;const ie=await r.getLayout(z.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$o$1,{"menu-data":V.value,ref:"menu"},null,8,["menu-data"]))}}),_sfc_main$3$1=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"),z=useTemplateRef("stageContainer"),V=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 Ne,$e,Oe;t||!le.value||z.value&&(!((Ne=e.stageOptions)!=null&&Ne.runtimeUrl||($e=e.stageOptions)!=null&&$e.render)||!ae.value||(t=useStage(e.stageOptions),t.on("select",()=>{var Fe,Et;(Et=(Fe=L.value)==null?void 0:Fe.container)==null||Et.focus()}),r.set("stage",markRaw(t)),t.mount(z.value),(Oe=ue.value)!=null&&Oe.id&&t.on("runtime-ready",Fe=>{i=Fe})))}),onBeforeUnmount(()=>{t==null||t.destroy(),r.set("stage",null)}),watch(de,Ne=>{!t||!Ne||t.setZoom(Ne)});let he=null;watch(le,Ne=>{var $e;if(i&&Ne){r.set("stageLoading",!0),he&&globalThis.clearTimeout(he),he=globalThis.setTimeout(()=>{r.set("stageLoading",!1),he=null},3e3),($e=i.updatePageId)==null||$e.call(i,Ne.id);const Oe=watch(k,()=>{k.value||nextTick(()=>{t==null||t.select(Ne.id),Oe()})},{immediate:!0})}});const pe=new ResizeObserver(Ne=>{for(const{contentRect:$e}of Ne)g.set("stageContainerRect",{width:$e.width,height:$e.height})});onMounted(()=>{var Ne;(Ne=L.value)!=null&&Ne.container&&(pe.observe(L.value.container),y.registerEl(KeyBindingContainerKey.STAGE,L.value.container))}),onBeforeUnmount(()=>{t==null||t.destroy(),t=null,pe.disconnect(),r.set("stage",null),y.unregisterEl("stage")});const _e=getEditorConfig("parseDSL"),Ce=Ne=>{var $e;Ne.preventDefault(),($e=V.value)==null||$e.show(Ne)},xe=Ne=>{Ne.dataTransfer&&(Ne.preventDefault(),Ne.dataTransfer.dropEffect="move")},Ie=async Ne=>{var Ve,kt,Ue;if(!Ne.dataTransfer)return;const $e=Ne.dataTransfer.getData("text/json");if(!$e)return;const Oe=_e("(".concat($e,")"));if(!Oe||Oe.dragType!==DragType.COMPONENT_LIST)return;Ne.preventDefault();const Fe=(kt=(Ve=t==null?void 0:t.renderer)==null?void 0:Ve.contentWindow)==null?void 0:kt.document,Et=Fe==null?void 0:Fe.querySelector(".".concat((Ue=e.stageOptions)==null?void 0:Ue.containerHighlightClassName));let ze=le.value;const qe=getIdFromEl()(Et);if(qe&&(ze=r.getNodeById(qe,!1)),ze&&z.value&&t){const Dt=await r.getLayout(ze),jt=z.value.getBoundingClientRect(),{scrollTop:ei,scrollLeft:ti}=t.mask,{style:hi={}}=Oe.data;let ui=0,mi=0,pi="relative";if(hi.position==="fixed")pi="fixed",ui=Ne.clientY-jt.top,mi=Ne.clientX-jt.left;else if(Dt===Layout.ABSOLUTE&&(pi="absolute",ui=Ne.clientY-jt.top+ei,mi=Ne.clientX-jt.left+ti,Et)){const{left:ri,top:oi}=getOffset$1(Et);mi=mi-ri*de.value,ui=ui-oi*de.value}Oe.data.style={...hi,position:pi,top:calcValueByFontsize(Fe,ui/de.value),left:calcValueByFontsize(Fe,mi/de.value)},Oe.data.inputEvent=Ne,r.add(Oe.data,ze)}};return(Ne,$e)=>{var Fe,Et,ze,qe;const Oe=resolveDirective("loading");return withDirectives((openBlock(),createBlock(_sfc_main$8$1,{class:"m-editor-stage",ref:"stageWrap",tabindex:"-1","element-loading-text":"Runtime 加载中...",width:(Fe=oe.value)==null?void 0:Fe.width,height:(Et=oe.value)==null?void 0:Et.height,"wrap-width":(ze=re.value)==null?void 0:ze.width,"wrap-height":(qe=re.value)==null?void 0:qe.height,zoom:de.value,"correction-scroll-size":{width:60,height:50},onClick:$e[0]||($e[0]=Ve=>{var kt,Ue;return(Ue=(kt=L.value)==null?void 0:kt.container)==null?void 0:Ue.focus()})},{content:withCtx(()=>[Ne.disabledStageOverlay?createCommentVNode("v-if",!0):(openBlock(),createBlock(_sfc_main$6$1,{key:0})),(openBlock(),createBlock(Teleport$1,{to:"body"},[createVNode(_sfc_main$4$1,{ref:"menu","is-multi-select":ie.value,"stage-content-menu":Ne.stageContentMenu,"custom-content-menu":Ne.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:Ce,onDrop:Ie,onDragover:xe},null,36),createVNode(_sfc_main$7$1)]),_:1},8,["width","height","wrap-width","wrap-height","zoom"])),[[Oe,k.value]])}}}),_hoisted_1$1$1={key:0,class:"m-editor-breadcrumb"},_hoisted_2$o={key:0},_sfc_main$2$1=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$1$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(g.value,(z,V)=>{var j;return openBlock(),createElementBlock(Fragment,{key:z.id},[createVNode(unref(_sfc_main$G$2),{link:"",disabled:z.id===((j=t.value)==null?void 0:j.id),onClick:ie=>y(z)},{default:withCtx(()=>[createTextVNode(toDisplayString(z.name),1)]),_:2},1032,["disabled","onClick"]),Vt.get("page"));return(r,g)=>(openBlock(),createElementBlock("div",_hoisted_1$11,[createVNode(_sfc_main$2$1),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$3$1,{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("v-if",!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}))]);Ci(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 z=editorService.getNodeById(L);z&&y.deps[L].keys.forEach(V=>{const j=get(z,V);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([]);Ci(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})));Ci(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 z=editorService.getNodeById(L);z&&y.deps[L].keys.forEach(V=>{const[j]=get(z,V);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="(function () {\n 'use strict';\n\n var events = {exports: {}};\n\n var hasRequiredEvents;\n\n function requireEvents () {\n if (hasRequiredEvents) return events.exports;\n hasRequiredEvents = 1;\n\n var R = typeof Reflect === 'object' ? Reflect : null;\n var ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n\n function ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n }\n\n var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n };\n\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n events.exports = EventEmitter;\n events.exports.once = once;\n\n // Backwards-compat with node 0.10.x\n EventEmitter.EventEmitter = EventEmitter;\n\n EventEmitter.prototype._events = undefined;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = undefined;\n\n // By default EventEmitters will print a warning if more than 10 listeners are\n // added to it. This is a useful default which helps finding memory leaks.\n var defaultMaxListeners = 10;\n\n function checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n }\n\n Object.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n });\n\n EventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n };\n\n // Obviously not all Emitters should be limited to 10. This function allows\n // that to be increased. Set to zero for unlimited.\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n };\n\n function _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n };\n\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n }\n\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\n EventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n\n EventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n\n EventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n // Emits a 'removeListener' event if and only if the listener was removed.\n EventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\n EventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\n function _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n }\n\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n\n function once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n }\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n }\n\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n }\n return events.exports;\n }\n\n requireEvents();\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n\n let cachedTextEncoder = new TextEncoder(\"utf-8\");\n\n typeof cachedTextEncoder.encodeInto === \"function\"\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n }\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length,\n };\n };\n\n const NODE_CONDS_KEY = \"displayConds\";\n const NODE_DISABLE_DATA_SOURCE_KEY = \"_tmagic_node_disabled_data_source\";\n const NODE_DISABLE_CODE_BLOCK_KEY = \"_tmagic_node_disabled_code_block\";\n var HookType = /* @__PURE__ */ ((HookType2) => {\n HookType2[\"CODE\"] = \"code\";\n return HookType2;\n })(HookType || {});\n\n const isObject = (obj) => Object.prototype.toString.call(obj) === \"[object Object]\";\n const getKeysArray = (keys) => (\n // 将 array[0] 转成 array.0\n `${keys}`.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\")\n );\n const DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX = \"ds-field::\";\n const dataSourceTemplateRegExp = /\\$\\{([\\s\\S]+?)\\}/g;\n\n var DepTargetType = /* @__PURE__ */ ((DepTargetType2) => {\n DepTargetType2[\"DEFAULT\"] = \"default\";\n DepTargetType2[\"CODE_BLOCK\"] = \"code-block\";\n DepTargetType2[\"DATA_SOURCE\"] = \"data-source\";\n DepTargetType2[\"DATA_SOURCE_METHOD\"] = \"data-source-method\";\n DepTargetType2[\"DATA_SOURCE_COND\"] = \"data-source-cond\";\n return DepTargetType2;\n })(DepTargetType || {});\n\n class Target {\n /**\n * 如何识别目标\n */\n isTarget;\n /**\n * 目标id,不可重复\n * 例如目标是代码块,则为代码块id\n */\n id;\n /**\n * 目标名称,用于显示在依赖列表中\n */\n name;\n /**\n * 不同的目标可以进行分类,例如代码块,数据源可以为两个不同的type\n */\n type = DepTargetType.DEFAULT;\n /**\n * 依赖详情\n * 实例:{ 'node_id': { name: 'node_name', keys: [ created, mounted ] } }\n */\n deps = {};\n /**\n * 是否默认收集,默认为true,当值为false时需要传入type参数给collect方法才会被收集\n */\n isCollectByDefault;\n constructor(options) {\n this.isTarget = options.isTarget;\n this.id = options.id;\n this.name = options.name;\n this.isCollectByDefault = options.isCollectByDefault ?? true;\n if (options.type) {\n this.type = options.type;\n }\n if (options.initialDeps) {\n this.deps = options.initialDeps;\n }\n }\n /**\n * 更新依赖\n * @param option 节点配置\n * @param key 哪个key配置了这个目标的id\n */\n updateDep({ id, name, key, data }) {\n const dep = this.deps[id] || {\n name,\n keys: []\n };\n dep.name = name;\n dep.data = data;\n this.deps[id] = dep;\n if (dep.keys.indexOf(key) === -1) {\n dep.keys.push(key);\n }\n }\n /**\n * 删除依赖\n * @param node 哪个节点的依赖需要移除,如果为空,则移除所有依赖\n * @param key 节点下哪个key需要移除,如果为空,则移除改节点下的所有依赖key\n * @returns void\n */\n removeDep(id, key) {\n if (typeof id === \"undefined\") {\n Object.keys(this.deps).forEach((depKey) => {\n delete this.deps[depKey];\n });\n return;\n }\n const dep = this.deps[id];\n if (!dep) return;\n if (key) {\n const index = dep.keys.indexOf(key);\n dep.keys.splice(index, 1);\n if (dep.keys.length === 0) {\n delete this.deps[id];\n }\n } else {\n delete this.deps[id];\n }\n }\n /**\n * 判断指定节点下的指定key是否存在在依赖列表中\n * @param node 哪个节点\n * @param key 哪个key\n * @returns boolean\n */\n hasDep(id, key) {\n const dep = this.deps[id];\n return Boolean(dep?.keys.find((d) => d === key));\n }\n destroy() {\n this.deps = {};\n }\n }\n\n const createCodeBlockTarget = (id, codeBlock, initialDeps = {}) => new Target({\n type: DepTargetType.CODE_BLOCK,\n id,\n initialDeps,\n name: codeBlock.name,\n isTarget: (_key, value) => {\n if (id === value) {\n return true;\n }\n if (value?.hookType === HookType.CODE && Array.isArray(value.hookData)) {\n const index = value.hookData.findIndex((item) => item.codeId === id);\n return Boolean(index > -1);\n }\n return false;\n }\n });\n const isIncludeArrayField = (keys, fields) => {\n let f = fields;\n return keys.some((key, index) => {\n const field = f.find(({ name }) => name === key);\n f = field?.fields || [];\n return field && field.type === \"array\" && // 不是整数\n /^(?!\\d+$).*$/.test(`${keys[index + 1]}`) && index < keys.length - 1;\n });\n };\n const isDataSourceTemplate = (value, ds, hasArray = false) => {\n const templates = value.match(dataSourceTemplateRegExp) || [];\n if (templates.length <= 0) {\n return false;\n }\n const arrayFieldTemplates = [];\n const fieldTemplates = [];\n templates.forEach((tpl) => {\n const expression = tpl.substring(2, tpl.length - 1);\n const keys = getKeysArray(expression);\n const dsId = keys.shift();\n if (!dsId || dsId !== ds.id) {\n return;\n }\n if (isIncludeArrayField(keys, ds.fields)) {\n arrayFieldTemplates.push(tpl);\n } else {\n fieldTemplates.push(tpl);\n }\n });\n if (hasArray) {\n return arrayFieldTemplates.length > 0;\n }\n return fieldTemplates.length > 0;\n };\n const isSpecificDataSourceTemplate = (value, dsId) => value?.isBindDataSourceField && value.dataSourceId && value.dataSourceId === dsId && typeof value.template === \"string\";\n const isUseDataSourceField = (value, id) => {\n if (!Array.isArray(value) || typeof value[0] !== \"string\") {\n return false;\n }\n const [prefixId] = value;\n const prefixIndex = prefixId.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);\n if (prefixIndex === -1) {\n return false;\n }\n const dsId = prefixId.substring(prefixIndex + DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length);\n return dsId === id;\n };\n const isDataSourceTarget = (ds, key, value, hasArray = false) => {\n if (!value || ![\"string\", \"object\"].includes(typeof value)) {\n return false;\n }\n if (`${key}`.startsWith(NODE_CONDS_KEY)) {\n return false;\n }\n if (typeof value === \"string\") {\n return isDataSourceTemplate(value, ds, hasArray);\n }\n if (isObject(value) && value?.isBindDataSource && value.dataSourceId && value.dataSourceId === ds.id) {\n return true;\n }\n if (isSpecificDataSourceTemplate(value, ds.id)) {\n return true;\n }\n if (isUseDataSourceField(value, ds.id)) {\n const [, ...keys] = value;\n const includeArray = isIncludeArrayField(keys, ds.fields);\n if (hasArray) {\n return includeArray;\n }\n return !includeArray;\n }\n return false;\n };\n const isDataSourceCondTarget = (ds, key, value, hasArray = false) => {\n if (!Array.isArray(value) || !ds) {\n return false;\n }\n const [dsId, ...keys] = value;\n if (dsId !== ds.id || !`${key}`.startsWith(NODE_CONDS_KEY)) {\n return false;\n }\n if (ds.fields?.find((field) => field.name === keys[0])) {\n const includeArray = isIncludeArrayField(keys, ds.fields);\n if (hasArray) {\n return includeArray;\n }\n return !includeArray;\n }\n return false;\n };\n const createDataSourceTarget = (ds, initialDeps = {}) => new Target({\n type: DepTargetType.DATA_SOURCE,\n id: ds.id,\n initialDeps,\n isTarget: (key, value) => isDataSourceTarget(ds, key, value)\n });\n const createDataSourceCondTarget = (ds, initialDeps = {}) => new Target({\n type: DepTargetType.DATA_SOURCE_COND,\n id: ds.id,\n initialDeps,\n isTarget: (key, value) => isDataSourceCondTarget(ds, key, value)\n });\n const createDataSourceMethodTarget = (ds, initialDeps = {}) => new Target({\n type: DepTargetType.DATA_SOURCE_METHOD,\n id: ds.id,\n initialDeps,\n isTarget: (_key, value) => {\n if (!Array.isArray(value)) {\n return false;\n }\n const [dsId, methodName] = value;\n if (!methodName || dsId !== ds.id) {\n return false;\n }\n if (ds.methods?.find((method) => method.name === methodName)) {\n return true;\n }\n if (ds.fields?.find((field) => field.name === methodName)) {\n return false;\n }\n return true;\n }\n });\n const traverseTarget = (targetsList, cb, type) => {\n for (const targets of Object.values(targetsList)) {\n for (const target of Object.values(targets)) {\n if (type && target.type !== type) {\n continue;\n }\n cb(target);\n }\n }\n };\n\n class Watcher {\n targetsList = {};\n childrenProp = \"items\";\n idProp = \"id\";\n nameProp = \"name\";\n constructor(options) {\n if (options?.initialTargets) {\n this.targetsList = options.initialTargets;\n }\n if (options?.childrenProp) {\n this.childrenProp = options.childrenProp;\n }\n }\n getTargetsList() {\n return this.targetsList;\n }\n /**\n * 获取指定类型中的所有target\n * @param type 分类\n * @returns Target[]\n */\n getTargets(type = DepTargetType.DEFAULT) {\n return this.targetsList[type] || {};\n }\n /**\n * 添加新的目标\n * @param target Target\n */\n addTarget(target) {\n const targets = this.getTargets(target.type) || {};\n this.targetsList[target.type] = targets;\n targets[target.id] = target;\n }\n /**\n * 获取指定id的target\n * @param id target id\n * @returns Target\n */\n getTarget(id, type = DepTargetType.DEFAULT) {\n return this.getTargets(type)[id];\n }\n /**\n * 判断是否存在指定id的target\n * @param id target id\n * @returns boolean\n */\n hasTarget(id, type = DepTargetType.DEFAULT) {\n return Boolean(this.getTarget(id, type));\n }\n /**\n * 判断是否存在指定类型的target\n * @param type target type\n * @returns boolean\n */\n hasSpecifiedTypeTarget(type = DepTargetType.DEFAULT) {\n return Object.keys(this.getTargets(type)).length > 0;\n }\n /**\n * 删除指定id的target\n * @param id target id\n */\n removeTarget(id, type = DepTargetType.DEFAULT) {\n const targets = this.getTargets(type);\n if (targets[id]) {\n targets[id].destroy();\n delete targets[id];\n }\n }\n /**\n * 删除指定分类的所有target\n * @param type 分类\n * @returns void\n */\n removeTargets(type = DepTargetType.DEFAULT) {\n const targets = this.targetsList[type];\n if (!targets) return;\n for (const target of Object.values(targets)) {\n target.destroy();\n }\n delete this.targetsList[type];\n }\n /**\n * 删除所有target\n */\n clearTargets() {\n for (const key of Object.keys(this.targetsList)) {\n delete this.targetsList[key];\n }\n }\n /**\n * 收集依赖\n * @param nodes 需要收集的节点\n * @param deep 是否需要收集子节点\n * @param type 强制收集指定类型的依赖\n */\n collect(nodes, depExtendedData = {}, deep = false, type) {\n this.collectByCallback(nodes, type, ({ node, target }) => {\n this.removeTargetDep(target, node);\n this.collectItem(node, target, depExtendedData, deep);\n });\n }\n collectByCallback(nodes, type, cb) {\n traverseTarget(\n this.targetsList,\n (target) => {\n if (!type && !target.isCollectByDefault) {\n return;\n }\n for (const node of nodes) {\n cb({ node, target });\n }\n },\n type\n );\n }\n /**\n * 清除所有目标的依赖\n * @param nodes 需要清除依赖的节点\n */\n clear(nodes, type) {\n let { targetsList } = this;\n if (type) {\n targetsList = {\n [type]: this.getTargets(type)\n };\n }\n const clearedItemsNodeIds = [];\n traverseTarget(targetsList, (target) => {\n if (nodes) {\n for (const node of nodes) {\n target.removeDep(node[this.idProp]);\n if (Array.isArray(node[this.childrenProp]) && node[this.childrenProp].length && !clearedItemsNodeIds.includes(node[this.idProp])) {\n clearedItemsNodeIds.push(node[this.idProp]);\n this.clear(node[this.childrenProp]);\n }\n }\n } else {\n target.removeDep();\n }\n });\n }\n /**\n * 清除指定类型的依赖\n * @param type 类型\n * @param nodes 需要清除依赖的节点\n */\n clearByType(type, nodes) {\n this.clear(nodes, type);\n }\n collectItem(node, target, depExtendedData = {}, deep = false) {\n const dataSourceTargetTypes = [\n DepTargetType.DATA_SOURCE,\n DepTargetType.DATA_SOURCE_COND,\n DepTargetType.DATA_SOURCE_METHOD\n ];\n if (node[NODE_DISABLE_DATA_SOURCE_KEY] && dataSourceTargetTypes.includes(target.type)) {\n return;\n }\n if (node[NODE_DISABLE_CODE_BLOCK_KEY] && target.type === DepTargetType.CODE_BLOCK) {\n return;\n }\n const collectTarget = (config, prop = \"\") => {\n const doCollect = (key, value) => {\n const keyIsItems = key === this.childrenProp;\n const fullKey = prop ? `${prop}.${key}` : key;\n if (target.isTarget(fullKey, value)) {\n target.updateDep({\n id: node[this.idProp],\n name: `${node[this.nameProp] || node[this.idProp]}`,\n data: depExtendedData,\n key: fullKey\n });\n } else if (!keyIsItems && Array.isArray(value)) {\n for (let i = 0, l = value.length; i < l; i++) {\n const item = value[i];\n if (isObject(item)) {\n collectTarget(item, `${fullKey}[${i}]`);\n }\n }\n } else if (isObject(value)) {\n collectTarget(value, fullKey);\n }\n if (keyIsItems && deep && Array.isArray(value)) {\n for (const child of value) {\n this.collectItem(child, target, depExtendedData, deep);\n }\n }\n };\n for (const [key, value] of Object.entries(config)) {\n if (typeof value === \"undefined\" || value === \"\") continue;\n doCollect(key, value);\n }\n };\n collectTarget(node);\n }\n removeTargetDep(target, node, key) {\n target.removeDep(node[this.idProp], key);\n if (typeof key === \"undefined\" && Array.isArray(node[this.childrenProp]) && node[this.childrenProp].length) {\n for (const item of node[this.childrenProp]) {\n this.removeTargetDep(target, item, key);\n }\n }\n }\n }\n\n const error = (...args) => {\n if (process.env.NODE_ENV === \"development\") {\n console.error(\"magic editor: \", ...args);\n }\n };\n\n onmessage = (e) => {\n const watcher = new Watcher({ initialTargets: {} });\n const { dsl } = e.data;\n try {\n const mApp = eval(`(${dsl})`);\n if (!mApp) {\n postMessage({});\n }\n watcher.clearTargets();\n if (mApp.codeBlocks) {\n for (const [id, code] of Object.entries(mApp.codeBlocks)) {\n watcher.addTarget(createCodeBlockTarget(id, code));\n }\n }\n if (mApp.dataSources) {\n for (const ds of mApp.dataSources) {\n watcher.addTarget(createDataSourceTarget(ds, {}));\n watcher.addTarget(createDataSourceMethodTarget(ds, {}));\n watcher.addTarget(createDataSourceCondTarget(ds, {}));\n }\n }\n watcher.collectByCallback(mApp.items, void 0, ({ node, target }) => {\n watcher.collectItem(node, target, { pageId: node.id }, true);\n });\n const data = {\n [DepTargetType.DATA_SOURCE]: {},\n [DepTargetType.DATA_SOURCE_METHOD]: {},\n [DepTargetType.DATA_SOURCE_COND]: {},\n [DepTargetType.CODE_BLOCK]: {}\n };\n traverseTarget(watcher.getTargetsList(), (target) => {\n data[target.type][target.id] = target.deps;\n });\n postMessage(data);\n } catch (e2) {\n error(e2);\n postMessage({});\n }\n };\n\n})();\n",blob=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",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})}}class Dep extends BaseService{constructor(){super();Ci(this,"state",shallowReactive({collecting:!1,taskLength:0}));Ci(this,"idleTask",new IdleTask);Ci(this,"watcher",new Watcher({initialTargets:reactive$1({})}));Ci(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);Ci(this,"ctrlKey",/mac os x/.test(navigator.userAgent.toLowerCase())?"meta":"ctrl");Ci(this,"controllers",new Map);Ci(this,"bindingList",[]);Ci(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 z={type:k,command:r,keybinding:g,eventType:L,bound:!1};this.bindingList.find(V=>V.command===r&&V.eventType===L&&V.type===k&&V.keybinding===g)||this.bindingList.push(z)}}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 z=this.controllers.get(r);if(!z)continue;const V=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]?z[g](j,V):z[g](V)}),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})));Ci(this,"state",shallowReactive({wrapDiv:document.createElement("div"),sourceEl:null,contentEl:null,stage:null,stageOptions:null,wrapWidth:0,wrapHeight:0,stageOverlayVisible:!1}));Ci(this,"updateHandler",()=>{setTimeout(()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()})});Ci(this,"addHandler",()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()});Ci(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,z=r.children.length;L{var L,z;(z=(L=g==null?void 0:g.renderer)==null?void 0:L.contentWindow)==null||z.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)&&!n.dataset.tmagicPageFragmentContainerId),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:z,depService:V})=>{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&&z.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))z.setFormConfig(ie,oe)},{immediate:!0}),watch(()=>n.datasourceValues,j=>{if(j)for(const[ie,oe]of Object.entries(j))z.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))z.setFormEvent(re,ae);for(const[re,ae]of Object.entries(oe))z.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(),V.reset()})},initServiceEvents=(n,e,{editorService:t,codeBlockService:i,dataSourceService:r,depService:g})=>{let y=null;const k=async()=>{var Ve,kt;const ze=await re(),{renderer:qe}=ze;if(qe)return qe.runtime?(kt=(Ve=qe.runtime).getApp)==null?void 0:kt.call(Ve):y||(y=new Promise(Ue=>{const Dt=globalThis.setTimeout(()=>{Ue(void 0)},1e4);qe.once("runtime-ready",()=>{var jt,ei;Dt&&globalThis.clearTimeout(Dt),Ue((ei=(jt=qe.runtime)==null?void 0:jt.getApp)==null?void 0:ei.call(jt))})}),y)},L=ze=>{for(const qe of ze)z(qe)},z=ze=>{var Ve,kt;const qe=t.get("root");if(qe)return(kt=t.get("stage"))==null?void 0:kt.update({config:cloneDeep(ze),parentId:(Ve=t.getParentById(ze.id))==null?void 0:Ve.id,root:cloneDeep(qe)})},V=async()=>{const ze=t.get("root"),qe=await k();!qe||!ze||qe.dsl&&(qe.dsl.dataSources=ze.dataSources)},j=()=>{var qe;const ze=t.get("root");(qe=k())==null||qe.then(Ve=>{ze&&(Ve!=null&&Ve.dsl)&&(Ve.dsl.dataSourceDeps=ze.dataSourceDeps)})},ie=ze=>{var Ve;let qe;return isPage(ze)?qe=ze.id:qe=(Ve=t.getNodeInfo(ze.id).page)==null?void 0:Ve.id,qe},oe=(ze,qe,Ve)=>Promise.all(ze.map(kt=>kt.type===NodeType.ROOT?Promise.resolve():g.collectIdle([kt],{pageId:ie(kt)},qe,Ve)));watch(()=>t.get("stage"),ze=>{ze&&ze.on("rerender",async()=>{const qe=t.get("node");qe&&(await oe([qe],!0,DepTargetType.DATA_SOURCE),z(qe))})}),watch(()=>n.runtimeUrl,ze=>{var Ve;if(!ze)return;const qe=t.get("stage");qe&&(qe.reloadIframe(ze),(Ve=qe.renderer)==null||Ve.once("runtime-ready",kt=>{var jt,ei;(jt=kt.updateRootConfig)==null||jt.call(kt,cloneDeep(toRaw(t.get("root"))));const Ue=t.get("page"),Dt=t.get("node");Ue!=null&&Ue.id&&((ei=kt==null?void 0:kt.updatePageId)==null||ei.call(kt,Ue.id)),setTimeout(()=>{Dt&&(qe==null||qe.select(toRaw(Dt.id)))})}))});const re=()=>{const ze=t.get("stage");return ze?Promise.resolve(ze):new Promise(qe=>{const Ve=watch(()=>t.get("stage"),kt=>{kt&&(qe(kt),nextTick(()=>{Ve()}))})})},ae=async ze=>{var jt,ei,ti,hi;const qe=await re(),Ve=await((jt=qe.renderer)==null?void 0:jt.getRuntime()),kt=await k();kt!=null&&kt.dataSourceManager||(ei=Ve==null?void 0:Ve.updateRootConfig)==null||ei.call(Ve,cloneDeep(toRaw(ze)));const Ue=t.get("page"),Dt=t.get("node");if(Ue!=null&&Ue.id&&((ti=Ve==null?void 0:Ve.updatePageId)==null||ti.call(Ve,Ue.id)),setTimeout(()=>{Dt&&(qe==null||qe.select(toRaw(Dt.id)))}),ze){g.clearIdleTasks(),await(typeof Worker>"u"?oe(ze.items,!0):g.collectByWorker(ze));const ui=cloneDeep(toRaw(ze));if(ui.dataSources&&ui.dataSourceDeps&&(kt!=null&&kt.dataSourceManager))for(const mi of getNodes(getDepNodeIds(ui.dataSourceDeps),ui.items))updateNode(kt.dataSourceManager.compiledNode(mi),ui);(hi=Ve==null?void 0:Ve.updateRootConfig)==null||hi.call(Ve,ui)}},le=ze=>{g.addTarget(createDataSourceTarget(ze,reactive$1({}))),g.addTarget(createDataSourceMethodTarget(ze,reactive$1({}))),g.addTarget(createDataSourceCondTarget(ze,reactive$1({})))},de=(ze,qe)=>{if(ze){ze.codeBlocks=ze.codeBlocks||{},ze.dataSources=ze.dataSources||[],i.setCodeDsl(ze.codeBlocks),r.set("dataSources",ze.dataSources),g.clearTargets();for(const[Ve,kt]of Object.entries(ze.codeBlocks))g.addTarget(createCodeBlockTarget(Ve,kt));for(const Ve of r.get("dataSources"))le(Ve);Array.isArray(ze.items)?ae(ze):(g.clear(),delete ze.dataSourceDeps,delete ze.dataSourceCondDeps),(async()=>{var Ue,Dt;const Ve=((Ue=t.get("node"))==null?void 0:Ue.id)||n.defaultSelected;let kt;Ve&&(kt=t.getNodeById(Ve)),kt&&kt!==ze?await t.select(kt.id):(Dt=ze.items)!=null&&Dt.length?await t.select(ze.items[0]):ze.id&&(t.set("nodes",[ze]),t.set("parent",null),t.set("page",null)),toRaw(ze)!==toRaw(qe)&&e("update:modelValue",ze)})()}},ue=ze=>{oe(ze,!0).then(()=>{L(ze)})},he=ze=>{const qe=[],Ve=[];for(const{newNode:kt,oldNode:Ue,changeRecords:Dt}of ze)if(kt.type===NodeType.ROOT)Ve.push(kt);else if(Dt!=null&&Dt.length)e:for(const jt of Dt){if(!jt.propPath){qe.push(kt);break e}if(new RegExp("".concat(NODE_CONDS_KEY,".(\\d)+.cond")).test(jt.propPath)||new RegExp("".concat(NODE_CONDS_KEY,".(\\d)+.cond.(\\d)+.value")).test(jt.propPath)||jt.propPath===NODE_CONDS_KEY||isValueIncludeDataSource(jt.value)){qe.push(kt);break e}for(const ei of Object.values(g.getTargets(DepTargetType.DATA_SOURCE)))if(ei.deps[kt.id]&&ei.deps[kt.id].keys.includes(jt.propPath)){qe.push(kt);break e}Ve.push(kt)}else isIncludeDataSource(kt,Ue)?qe.push(kt):Ve.push(kt);qe.length?(async()=>(await oe(qe,!0,DepTargetType.DATA_SOURCE),await oe(qe,!0,DepTargetType.DATA_SOURCE_COND),L(qe)))():(L(Ve),Promise.all([oe(Ve,!0,DepTargetType.CODE_BLOCK),oe(Ve,!0,DepTargetType.DATA_SOURCE_METHOD)]))},pe=ze=>{g.clear(ze)},_e=ze=>{oe([ze],!0).then(()=>{z(ze)})};t.on("history-change",_e),t.on("root-change",de),t.on("add",ue),t.on("remove",pe),t.on("update",he);const Ce=ze=>{(async()=>{le(ze);const Ve=await k();if(!(Ve!=null&&Ve.dataSourceManager))return;Ve.dataSourceManager.addDataSource(ze);const kt=Ve.dataSourceManager.get(ze.id);kt&&Ve.dataSourceManager.init(kt)})()},xe=(ze,{changeRecords:qe})=>{const Ve=async()=>{var ui,mi;const ti=await k();if(!(ti!=null&&ti.dataSourceManager))return;const hi=ti.dataSourceManager.get(ze.id);hi&&(hi.setFields(ze.fields),hi.setData(((mi=(ui=ze.mocks)==null?void 0:ui.find(pi=>pi.useInEditor))==null?void 0:mi.data)||hi.getDefaultData()))};let kt=!1,Ue=!1,Dt=!1,jt=!1;for(const ti of qe)if(ti.propPath&&(Ue=ti.propPath==="fields"||/fields.(\d)+.name/.test(ti.propPath)||/fields.(\d)+.defaultValue/.test(ti.propPath)||/fields.(\d)+$/.test(ti.propPath),Dt=ti.propPath==="mocks",jt=ti.propPath==="methods"||/methods.(\d)+.name/.test(ti.propPath)||/methods.(\d)+$/.test(ti.propPath),kt=Ue||Dt||jt,kt))break;const ei=t.get("root");if(kt){if(Array.isArray(ei==null?void 0:ei.items)){g.clearIdleTasks();let ti=[];Ue?(g.removeTarget(ze.id,DepTargetType.DATA_SOURCE),g.removeTarget(ze.id,DepTargetType.DATA_SOURCE_COND),g.addTarget(createDataSourceTarget(ze,reactive$1({}))),g.addTarget(createDataSourceCondTarget(ze,reactive$1({}))),ti=[oe(ei.items,!0,DepTargetType.DATA_SOURCE),oe(ei.items,!0,DepTargetType.DATA_SOURCE_COND)]):Dt?(g.removeTarget(ze.id,DepTargetType.DATA_SOURCE),g.addTarget(createDataSourceTarget(ze,reactive$1({}))),ti=[oe(ei.items,!0,DepTargetType.DATA_SOURCE)]):jt&&(g.removeTarget(ze.id,DepTargetType.DATA_SOURCE_METHOD),g.addTarget(createDataSourceMethodTarget(ze,reactive$1({}))),ti=[oe(ei.items,!0,DepTargetType.DATA_SOURCE_METHOD)]),Promise.all(ti).then(()=>V()).then(()=>Ve()).then(()=>L(ei.items))}}else ei!=null&&ei.dataSources&&Ve()},Ie=ze=>{g.removeTarget(ze,DepTargetType.DATA_SOURCE),g.removeTarget(ze,DepTargetType.DATA_SOURCE_COND),g.removeTarget(ze,DepTargetType.DATA_SOURCE_METHOD)},Ne=ze=>{const qe=t.get("root");if(!qe)return;(async()=>{var jt,ei;const kt=Object.keys(((jt=qe.dataSourceDeps)==null?void 0:jt[ze])||{}),Ue=getNodes(kt,qe.items);await Promise.all([oe(Ue,!1,DepTargetType.DATA_SOURCE),oe(Ue,!1,DepTargetType.DATA_SOURCE_COND),oe(Ue,!1,DepTargetType.DATA_SOURCE_METHOD)]),V();const Dt=await k();(ei=Dt==null?void 0:Dt.dataSourceManager)==null||ei.removeDataSource(ze),L(Ue),Ie(ze)})()};r.on("add",Ce),r.on("update",xe),r.on("remove",Ne);const $e=(ze,qe)=>{if(g.hasTarget(ze,DepTargetType.CODE_BLOCK)){g.getTarget(ze,DepTargetType.CODE_BLOCK).name=qe.name;return}g.addTarget(createCodeBlockTarget(ze,qe))},Oe=ze=>{g.removeTarget(ze,DepTargetType.CODE_BLOCK)};i.on("addOrUpdate",$e),i.on("remove",Oe);const Fe=ze=>{const qe=t.get("root");qe&&(ze.type===DepTargetType.DATA_SOURCE?(qe.dataSourceDeps||(qe.dataSourceDeps={}),qe.dataSourceDeps[ze.id]=ze.deps):ze.type===DepTargetType.DATA_SOURCE_COND?(qe.dataSourceCondDeps||(qe.dataSourceCondDeps={}),qe.dataSourceCondDeps[ze.id]=ze.deps):ze.type===DepTargetType.DATA_SOURCE_METHOD&&(qe.dataSourceMethodDeps||(qe.dataSourceMethodDeps={}),qe.dataSourceMethodDeps[ze.id]=ze.deps))},Et=(ze,qe)=>{const Ve=t.get("root");Ve&&(Ve.dataSourceDeps&&qe===DepTargetType.DATA_SOURCE&&delete Ve.dataSourceDeps[ze],Ve.dataSourceCondDeps&&qe===DepTargetType.DATA_SOURCE_COND&&delete Ve.dataSourceCondDeps[ze],Ve.dataSourceMethodDeps&&qe===DepTargetType.DATA_SOURCE_METHOD&&delete Ve.dataSourceMethodDeps[ze])};g.on("add-target",Fe),g.on("remove-target",Et),g.on("ds-collected",j),onBeforeUnmount(()=>{g.off("add-target",Fe),g.off("remove-target",Et),g.off("ds-collected",j),t.off("history-change",_e),t.off("root-change",de),t.off("add",ue),t.off("remove",pe),t.off("update",he),i.off("addOrUpdate",$e),i.off("remove",Oe),r.off("add",Ce),r.off("update",xe),r.off("remove",Ne)})},_sfc_main$1J=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:[Function,Object]},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),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")},z=j=>{i("props-submit-error",j)},V=j=>{i("props-form-error",j)};return e(g),(j,ie)=>(openBlock(),createBlock(_sfc_main$s$1,{"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$r$1,{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$a$1,{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$1$1,{"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$p$1,{"extend-state":j.extendFormState,"disabled-show-src":j.disabledShowSrc,onMounted:k,onUnmounted:L,onFormError:V,onSubmitError:z},{"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)},index={install:(n,e)=>{const t=Object.assign(defaultInstallOpt,e||{});n.use(index$4,e||{}),n.use(index$2,e||{}),n.use(index$1),n.config.globalProperties.$TMAGIC_EDITOR=t,setEditorConfig(t),n.component("".concat(_sfc_main$1J.name||"MEditor"),_sfc_main$1J),n.component("magic-code-editor",_sfc_main$1q$1),n.component("m-fields-ui-select",_sfc_main$C$1),n.component("m-fields-code-link",_sfc_main$1o$1),n.component("m-fields-vs-code",_sfc_main$1p$1),n.component("m-fields-code-select",_sfc_main$1n$1),n.component("m-fields-code-select-col",_sfc_main$1l$1),n.component("m-fields-event-select",_sfc_main$18$1),n.component("m-fields-data-source-fields",_sfc_main$1i$1),n.component("m-fields-data-source-mocks",_sfc_main$1b$1),n.component("m-fields-key-value",_sfc_main$16$1),n.component("m-fields-data-source-input",_sfc_main$1f$1),n.component("m-fields-data-source-select",_sfc_main$1a$1),n.component("m-fields-data-source-methods",_sfc_main$1d$1),n.component("m-fields-data-source-method-select",_sfc_main$1c$1),n.component("m-fields-data-source-field-select",_sfc_main$1g$1),n.component("m-fields-page-fragment-select",_sfc_main$15$1),n.component("m-fields-display-conds",_sfc_main$19$1),n.component("m-fields-cond-op-select",_sfc_main$1k$1),n.component("m-form-style-setter",_sfc_main$D$1)}},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)}};/** * @vue/shared v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const NOOP=()=>{},hasOwnProperty=Object.prototype.hasOwnProperty,hasOwn=(n,e)=>hasOwnProperty.call(n,e),isArray$1=Array.isArray,isDate=n=>toTypeString(n)==="[object Date]",isFunction$1=n=>typeof n=="function",isString$1=n=>typeof n=="string",isObject=n=>n!==null&&typeof n=="object",isPromise=n=>(isObject(n)||isFunction$1(n))&&isFunction$1(n.then)&&isFunction$1(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=cacheStringFunction(n=>n.replace(camelizeRE,(e,t)=>t?t.toUpperCase():"")),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction(n=>n.replace(hyphenateRE,"-$1").toLowerCase()),capitalize$1=cacheStringFunction(n=>n.charAt(0).toUpperCase()+n.slice(1)),isUndefined=n=>n===void 0,isBoolean=n=>typeof n=="boolean",isNumber=n=>typeof n=="number",isEmpty=n=>!n&&n!==0||isArray$1(n)&&n.length===0||isObject(n)&&!Object.keys(n).length,isElement=n=>typeof Element>"u"?!1:n instanceof Element,isPropAbsent=n=>isNil(n),isStringNumber=n=>isString$1(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),z=resolveUnref(e.maxWait);return t&&g(t),L<=0||z!==void 0&&z<=0?(i&&(g(i),i=null),Promise.resolve(k())):new Promise((V,j)=>{r=e.rejectOnCancel?j:V,z&&!i&&(i=setTimeout(()=>{t&&g(t),i=null,V(k())},z)),t=setTimeout(()=>{i&&g(i),i=null,V(k())},L)})}}function identity(n){return n}function tryOnScopeDispose(n){return getCurrentScope()?(onScopeDispose(n),!0):!1}function toReactive(n){if(!isRef(n))return reactive$1(n);const e=new Proxy({},{get(t,i,r){return unref(Reflect.get(n.value,i,r))},set(t,i,r){return isRef(n.value[i])&&!isRef(r)?n.value[i].value=r:n.value[i]=r,!0},deleteProperty(t,i){return Reflect.deleteProperty(n.value,i)},has(t,i){return Reflect.has(n.value,i)},ownKeys(){return Object.keys(n.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return reactive$1(e)}function reactiveComputed(n){return toReactive(computed$1(n))}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(...z){y(),r.value=!0,g=setTimeout(()=>{r.value=!1,g=null,n(...z)},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(V=>V()),g.length=0},k=(V,j,ie,oe)=>(V.addEventListener(j,ie,oe),()=>V.removeEventListener(j,ie,oe)),L=watch(()=>[unrefElement(e),resolveUnref(r)],([V,j])=>{y(),V&&g.push(...t.flatMap(ie=>i.map(oe=>k(V,ie,oe,j))))},{immediate:!0,flush:"post"}),z=()=>{L(),y()};return tryOnScopeDispose(z),z}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))}}),V=[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()=>V.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 z=(L=t.getComputedStyle(y).getPropertyValue(k))==null?void 0:L.trim();r.value=z||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)},z=watch(()=>unrefElement(n),j=>{L(),k.value&&r&&j&&(y=new ResizeObserver(e),y.observe(j,g))},{immediate:!0,flush:"post"}),V=()=>{L(),z()};return tryOnScopeDispose(V),{isSupported:k,stop:V}}function useElementSize(n,e={width:0,height:0},t={}){const{window:i=defaultWindow,box:r="content-box"}=t,g=computed$1(()=>{var L,z;return(z=(L=unrefElement(n))==null?void 0:L.namespaceURI)==null?void 0:z.includes("svg")}),y=ref$1(e.width),k=ref$1(e.height);return useResizeObserver(n,([L])=>{const z=r==="border-box"?L.borderBoxSize:r==="content-box"?L.contentBoxSize:L.devicePixelContentBoxSize;if(i&&g.value){const V=unrefElement(n);if(V){const j=i.getComputedStyle(V);y.value=parseFloat(j.width),k.value=parseFloat(j.height)}}else if(z){const V=Array.isArray(z)?z:[z];y.value=V.reduce((j,{inlineSize:ie})=>j+ie,0),k.value=V.reduce((j,{blockSize:ie})=>j+ie,0)}else y.value=L.contentRect.width,k.value=L.contentRect.height},t),watch(()=>unrefElement(n),L=>{y.value=L?e.width:0,k.value=L?e.height:0}),{width:y,height:k}}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)},z=watch(()=>unrefElement(n),j=>{L(),k.value&&r&&j&&(y=new MutationObserver(e),y.observe(j,g))},{immediate:!0}),V=()=>{L(),z()};return tryOnScopeDispose(V),{isSupported:k,stop:V}}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:z,deep:V=!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=z;re=z||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]||V)&&oe(re,he)},{deep:V}),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}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(n)&&!!n[epPropKey],buildProp=(n,e)=>{if(!isObject(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?z=>{let V=!1,j=[];if(t&&(j=Array.from(t),hasOwn(n,"default")&&j.push(r),V||(V=j.includes(z))),y&&(V||(V=y(z))),!V&&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(z),"."))}return V}: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:definePropType([String,Number,Boolean,Function]),default:void 0,validator:n=>isFunction$1(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$1(n.valueOnClear)?n.valueOnClear():n.valueOnClear!==void 0?n.valueOnClear:isFunction$1(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$1=(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(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$1(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,z)=>L+z.offsetTop,0),g=r+e.offsetHeight,y=n.scrollTop,k=y+n.clientHeight;rk&&(n.scrollTop=g-n.clientHeight)}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 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__$12=defineComponent({name:"ElIcon",inheritAttrs:!1}),_sfc_main$1I=defineComponent({...__default__$12,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$1(_sfc_main$1I,[["__file","icon.vue"]]);const ElIcon=withInstall(Icon);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:V=>{g(()=>{i(V);const j=unref(t);isNumber(j)&&j>0&&y(()=>{r(V)},j)},unref(n))},onClose:V=>{k(),g(()=>{r(V)},unref(e))}}},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={primary:info_filled_default,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={height:"0",visibility:"hidden",overflow:isFirefox()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},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","word-break"];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=>[y,e.getPropertyValue(y)]),paddingSize:i,borderSize:r,boxSizing:t}}function calcTextareaHeight(n,e=1,t){var i,r;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),((i=n.parentNode)!=null?i:document.body).appendChild(hiddenTextarea));const{paddingSize:g,borderSize:y,boxSizing:k,contextStyle:L}=calculateNodeStyling(n);L.forEach(([ie,oe])=>hiddenTextarea==null?void 0:hiddenTextarea.style.setProperty(ie,oe)),Object.entries(HIDDEN_STYLE).forEach(([ie,oe])=>hiddenTextarea==null?void 0:hiddenTextarea.style.setProperty(ie,oe,"important")),hiddenTextarea.value=n.value||n.placeholder||"";let z=hiddenTextarea.scrollHeight;const V={};k==="border-box"?z=z+y:k==="content-box"&&(z=z-g),hiddenTextarea.value="";const j=hiddenTextarea.scrollHeight-g;if(isNumber(e)){let ie=j*e;k==="border-box"&&(ie=ie+g+y),z=Math.max(ie,z),V.minHeight="".concat(ie,"px")}if(isNumber(t)){let ie=j*t;k==="border-box"&&(ie=ie+g+y),z=Math.min(ie,z)}return V.height="".concat(z,"px"),(r=hiddenTextarea.parentNode)==null||r.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,clearIcon:{type:iconPropType,default:circle_close_default},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"]),inputmode:{type:definePropType(String),default:void 0},name:String}),inputEmits={[UPDATE_MODEL_EVENT]:n=>isString$1(n),input:n=>isString$1(n),change:n=>isString$1(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))))}:()=>({}))},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++))},formContextKey=Symbol("formContextKey"),formItemContextKey=Symbol("formItemContextKey"),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=getCurrentInstance$1(),g=()=>{let z=r==null?void 0:r.parent;for(;z;){if(z.type.name==="ElFormItem")return!1;if(z.type.name==="ElLabelWrap")return!0;z=z.parent}return!1},y=ref$1();let k;const L=computed$1(()=>{var z;return!!(!(n.label||n.ariaLabel)&&e&&e.inputIds&&((z=e.inputIds)==null?void 0:z.length)<=1)});return onMounted(()=>{k=watch([toRef(n,"id"),t],([z,V])=>{const j=z!=null?z:V?void 0:useId().value;j!==y.value&&(e!=null&&e.removeInputId&&!g()&&(y.value&&e.removeInputId(y.value),!(i!=null&&i.value)&&!V&&j&&e.addInputId(j)),y.value=j)},{immediate:!0})}),onUnmounted(()=>{k&&k(),e!=null&&e.removeInputId&&y.value&&e.removeInputId(y.value)}),{isLabeledByFormItem:L,inputId:y}},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)},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())};function useFocusController(n,{disabled:e,beforeFocus:t,afterFocus:i,beforeBlur:r,afterBlur:g}={}){const y=getCurrentInstance$1(),{emit:k}=y,L=shallowRef(),z=ref$1(!1),V=oe=>{const re=isFunction$1(t)?t(oe):!1;unref(e)||z.value||re||(z.value=!0,k("focus",oe),i==null||i())},j=oe=>{var re;const ae=isFunction$1(r)?r(oe):!1;unref(e)||oe.relatedTarget&&((re=L.value)!=null&&re.contains(oe.relatedTarget))||ae||(z.value=!1,k("blur",oe),g==null||g())},ie=oe=>{var re,ae;unref(e)||isFocusable(oe.target)||(re=L.value)!=null&&re.contains(document.activeElement)&&L.value!==document.activeElement||(ae=n.value)==null||ae.focus()};return watch([L,()=>unref(e)],([oe,re])=>{oe&&(re?oe.removeAttribute("tabindex"):oe.setAttribute("tabindex","-1"))}),useEventListener(L,"focus",V,!0),useEventListener(L,"blur",j,!0),useEventListener(L,"click",ie,!0),{isFocused:z,wrapperRef:L,handleFocus:V,handleBlur:j}}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 z=(L=k.target)==null?void 0:L.value,V=z[z.length-1]||"";t.value=!isKorean(V)},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 z=g[k-1],V=r.indexOf(z,k-1);V!==-1&&(L=V+1)}n.value.setSelectionRange(L,L)}return[t,i]}const COMPONENT_NAME$f="ElInput",__default__$11=defineComponent({name:COMPONENT_NAME$f,inheritAttrs:!1}),_sfc_main$1H=defineComponent({...__default__$11,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",ti.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")]:Ue.value&&Dt.value,[re.b("hidden")]:i.type==="hidden"},r.class]),L=computed$1(()=>[re.e("wrapper"),re.is("focus",Ie.value)]),{form:z,formItem:V}=useFormItem(),{inputId:j}=useFormItemInputId(i,{formItemContext:V}),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(),_e=shallowRef(i.inputStyle),Ce=computed$1(()=>le.value||de.value),{wrapperRef:xe,isFocused:Ie,handleFocus:Ne,handleBlur:$e}=useFocusController(Ce,{disabled:oe,afterBlur(){var xi;i.validateEvent&&((xi=V==null?void 0:V.validate)==null||xi.call(V,"blur").catch(Ai=>void 0))}}),Oe=computed$1(()=>{var xi;return(xi=z==null?void 0:z.statusIcon)!=null?xi:!1}),Fe=computed$1(()=>(V==null?void 0:V.validateState)||""),Et=computed$1(()=>Fe.value&&ValidateComponentsMap[Fe.value]),ze=computed$1(()=>he.value?view_default:hide_default),qe=computed$1(()=>[r.style]),Ve=computed$1(()=>[i.inputStyle,_e.value,{resize:i.resize}]),kt=computed$1(()=>isNil(i.modelValue)?"":String(i.modelValue)),Ue=computed$1(()=>i.clearable&&!oe.value&&!i.readonly&&!!kt.value&&(Ie.value||ue.value)),Dt=computed$1(()=>i.showPassword&&!oe.value&&!!kt.value),jt=computed$1(()=>i.showWordLimit&&!!i.maxlength&&(i.type==="text"||i.type==="textarea")&&!oe.value&&!i.readonly&&!i.showPassword),ei=computed$1(()=>kt.value.length),ti=computed$1(()=>!!jt.value&&ei.value>Number(i.maxlength)),hi=computed$1(()=>!!y.suffix||!!i.suffixIcon||Ue.value||i.showPassword||jt.value||!!Fe.value&&Oe.value),[ui,mi]=useCursor(le);useResizeObserver(de,xi=>{if(oi(),!jt.value||i.resize!=="both")return;const Ai=xi[0],{width:Vi}=Ai.contentRect;pe.value={right:"calc(100% - ".concat(Vi+15+6,"px)")}});const pi=()=>{const{type:xi,autosize:Ai}=i;if(!(!isClient||xi!=="textarea"||!de.value))if(Ai){const Vi=isObject(Ai)?Ai.minRows:void 0,Hi=isObject(Ai)?Ai.maxRows:void 0,qi=calcTextareaHeight(de.value,Vi,Hi);_e.value={overflowY:"hidden",...qi},nextTick(()=>{de.value.offsetHeight,_e.value=qi})}else _e.value={minHeight:calcTextareaHeight(de.value).minHeight}},oi=(xi=>{let Ai=!1;return()=>{var Vi;if(Ai||!i.autosize)return;((Vi=de.value)==null?void 0:Vi.offsetParent)===null||(xi(),Ai=!0)}})(pi),bi=()=>{const xi=Ce.value,Ai=i.formatter?i.formatter(kt.value):kt.value;!xi||xi.value===Ai||(xi.value=Ai)},Ti=async xi=>{ui();let{value:Ai}=xi.target;if(i.formatter&&i.parser&&(Ai=i.parser(Ai)),!ni.value){if(Ai===kt.value){bi();return}t(UPDATE_MODEL_EVENT,Ai),t(INPUT_EVENT,Ai),await nextTick(),bi(),mi()}},Si=xi=>{let{value:Ai}=xi.target;i.formatter&&i.parser&&(Ai=i.parser(Ai)),t(CHANGE_EVENT,Ai)},{isComposing:ni,handleCompositionStart:fi,handleCompositionUpdate:si,handleCompositionEnd:_i}=useComposition({emit:t,afterComposition:Ti}),Pt=()=>{ui(),he.value=!he.value,setTimeout(mi)},Lt=()=>{var xi;return(xi=Ce.value)==null?void 0:xi.focus()},At=()=>{var xi;return(xi=Ce.value)==null?void 0:xi.blur()},ii=xi=>{ue.value=!1,t("mouseleave",xi)},gi=xi=>{ue.value=!0,t("mouseenter",xi)},yi=xi=>{t("keydown",xi)},Li=()=>{var xi;(xi=Ce.value)==null||xi.select()},Pi=()=>{t(UPDATE_MODEL_EVENT,""),t(CHANGE_EVENT,""),t("clear"),t(INPUT_EVENT,"")};return watch(()=>i.modelValue,()=>{var xi;nextTick(()=>pi()),i.validateEvent&&((xi=V==null?void 0:V.validate)==null||xi.call(V,"change").catch(Ai=>void 0))}),watch(kt,()=>bi()),watch(()=>i.type,async()=>{await nextTick(),bi(),pi()}),onMounted(()=>{!i.formatter&&i.parser,bi(),nextTick(pi)}),e({input:le,textarea:de,ref:Ce,textareaStyle:Ve,autosize:toRef(i,"autosize"),isComposing:ni,focus:Lt,blur:At,select:Li,clear:Pi,resizeTextarea:pi}),(xi,Ai)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(k),{[unref(re).bm("group","append")]:xi.$slots.append,[unref(re).bm("group","prepend")]:xi.$slots.prepend}]),style:normalizeStyle(unref(qe)),onMouseenter:gi,onMouseleave:ii},[createCommentVNode(" input "),xi.type!=="textarea"?(openBlock(),createElementBlock(Fragment,{key:0},[createCommentVNode(" prepend slot "),xi.$slots.prepend?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(re).be("group","prepend"))},[renderSlot(xi.$slots,"prepend")],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{ref_key:"wrapperRef",ref:xe,class:normalizeClass(unref(L))},[createCommentVNode(" prefix slot "),xi.$slots.prefix||xi.prefixIcon?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(re).e("prefix"))},[createBaseVNode("span",{class:normalizeClass(unref(re).e("prefix-inner"))},[renderSlot(xi.$slots,"prefix"),xi.prefixIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(re).e("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(xi.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),{name:xi.name,minlength:xi.minlength,maxlength:xi.maxlength,type:xi.showPassword?he.value?"text":"password":xi.type,disabled:unref(oe),readonly:xi.readonly,autocomplete:xi.autocomplete,tabindex:xi.tabindex,"aria-label":xi.ariaLabel,placeholder:xi.placeholder,style:xi.inputStyle,form:xi.form,autofocus:xi.autofocus,role:xi.containerRole,inputmode:xi.inputmode,onCompositionstart:unref(fi),onCompositionupdate:unref(si),onCompositionend:unref(_i),onInput:Ti,onChange:Si,onKeydown:yi}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),createCommentVNode(" suffix slot "),unref(hi)?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(re).e("suffix"))},[createBaseVNode("span",{class:normalizeClass(unref(re).e("suffix-inner"))},[!unref(Ue)||!unref(Dt)||!unref(jt)?(openBlock(),createElementBlock(Fragment,{key:0},[renderSlot(xi.$slots,"suffix"),xi.suffixIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(re).e("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(xi.suffixIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),unref(Ue)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(re).e("icon"),unref(re).e("clear")]),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:Pi},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(xi.clearIcon)))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0),unref(Dt)?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass([unref(re).e("icon"),unref(re).e("password")]),onClick:Pt},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(ze))))]),_:1},8,["class"])):createCommentVNode("v-if",!0),unref(jt)?(openBlock(),createElementBlock("span",{key:3,class:normalizeClass(unref(re).e("count"))},[createBaseVNode("span",{class:normalizeClass(unref(re).e("count-inner"))},toDisplayString(unref(ei))+" / "+toDisplayString(xi.maxlength),3)],2)):createCommentVNode("v-if",!0),unref(Fe)&&unref(Et)&&unref(Oe)?(openBlock(),createBlock(unref(ElIcon),{key:4,class:normalizeClass([unref(re).e("icon"),unref(re).e("validateIcon"),unref(re).is("loading",unref(Fe)==="validating")])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(Et))))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],2)):createCommentVNode("v-if",!0)],2),createCommentVNode(" append slot "),xi.$slots.append?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(re).be("group","append"))},[renderSlot(xi.$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:xi.minlength,maxlength:xi.maxlength,tabindex:xi.tabindex,disabled:unref(oe),readonly:xi.readonly,autocomplete:xi.autocomplete,style:unref(Ve),"aria-label":xi.ariaLabel,placeholder:xi.placeholder,form:xi.form,autofocus:xi.autofocus,rows:xi.rows,role:xi.containerRole,onCompositionstart:unref(fi),onCompositionupdate:unref(si),onCompositionend:unref(_i),onInput:Ti,onFocus:unref(Ne),onBlur:unref($e),onChange:Si,onKeydown:yi}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),unref(jt)?(openBlock(),createElementBlock("span",{key:0,style:normalizeStyle(pe.value),class:normalizeClass(unref(re).e("count"))},toDisplayString(unref(ei))+" / "+toDisplayString(xi.maxlength),7)):createCommentVNode("v-if",!0)],64))],38))}});var Input=_export_sfc$1(_sfc_main$1H,[["__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$e="Thumb",_sfc_main$1G=defineComponent({__name:"thumb",props:thumbProps,setup(n){const e=n,t=inject(scrollbarContextKey),i=useNamespace("scrollbar");t||throwError(COMPONENT_NAME$e,"can not inject scrollbar context");const r=ref$1(),g=ref$1(),y=ref$1({}),k=ref$1(!1);let L=!1,z=!1,V=0,j=0,ie=isClient?document.onselectstart:null;const oe=computed$1(()=>BAR_MAP[e.vertical?"vertical":"horizontal"]),re=computed$1(()=>renderThumbStyle({size:e.size,move:e.move,bar:oe.value})),ae=computed$1(()=>r.value[oe.value.offset]**2/t.wrapElement[oe.value.scrollSize]/e.ratio/g.value[oe.value.offset]),le=Ie=>{var Ne;if(Ie.stopPropagation(),Ie.ctrlKey||[1,2].includes(Ie.button))return;(Ne=window.getSelection())==null||Ne.removeAllRanges(),ue(Ie);const $e=Ie.currentTarget;$e&&(y.value[oe.value.axis]=$e[oe.value.offset]-(Ie[oe.value.client]-$e.getBoundingClientRect()[oe.value.direction]))},de=Ie=>{if(!g.value||!r.value||!t.wrapElement)return;const Ne=Math.abs(Ie.target.getBoundingClientRect()[oe.value.direction]-Ie[oe.value.client]),$e=g.value[oe.value.offset]/2,Oe=(Ne-$e)*100*ae.value/r.value[oe.value.offset];t.wrapElement[oe.value.scroll]=Oe*t.wrapElement[oe.value.scrollSize]/100},ue=Ie=>{Ie.stopImmediatePropagation(),L=!0,V=t.wrapElement.scrollHeight,j=t.wrapElement.scrollWidth,document.addEventListener("mousemove",he),document.addEventListener("mouseup",pe),ie=document.onselectstart,document.onselectstart=()=>!1},he=Ie=>{if(!r.value||!g.value||L===!1)return;const Ne=y.value[oe.value.axis];if(!Ne)return;const $e=(r.value.getBoundingClientRect()[oe.value.direction]-Ie[oe.value.client])*-1,Oe=g.value[oe.value.offset]-Ne,Fe=($e-Oe)*100*ae.value/r.value[oe.value.offset];oe.value.scroll==="scrollLeft"?t.wrapElement[oe.value.scroll]=Fe*j/100:t.wrapElement[oe.value.scroll]=Fe*V/100},pe=()=>{L=!1,y.value[oe.value.axis]=0,document.removeEventListener("mousemove",he),document.removeEventListener("mouseup",pe),xe(),z&&(k.value=!1)},_e=()=>{z=!1,k.value=!!e.size},Ce=()=>{z=!0,k.value=L};onBeforeUnmount(()=>{xe(),document.removeEventListener("mouseup",pe)});const xe=()=>{document.onselectstart!==ie&&(document.onselectstart=ie)};return useEventListener(toRef(t,"scrollbarElement"),"mousemove",_e),useEventListener(toRef(t,"scrollbarElement"),"mouseleave",Ce),(Ie,Ne)=>(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(oe).key)]),onMousedown:de,onClick:withModifiers(()=>{},["stop"])},[createBaseVNode("div",{ref_key:"thumb",ref:g,class:normalizeClass(unref(i).e("thumb")),style:normalizeStyle(unref(re)),onMousedown:le},null,38)],42,["onClick"]),[[vShow,Ie.always||k.value]])]),_:1},8,["name"]))}});var Thumb=_export_sfc$1(_sfc_main$1G,[["__file","thumb.vue"]]);const barProps=buildProps({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),_sfc_main$1F=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),z=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*z.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)),z.value=le/(re-le)/(ue/(re-ue)),k.value=de+GAP(openBlock(),createElementBlock(Fragment,null,[createVNode(Thumb,{move:r.value,ratio:z.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$1(_sfc_main$1F,[["__file","bar.vue"]]);const scrollbarProps=buildProps({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,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={"end-reached":n=>["left","right","top","bottom"].includes(n),scroll:({scrollTop:n,scrollLeft:e})=>[n,e].every(isNumber)},COMPONENT_NAME$d="ElScrollbar",__default__$10=defineComponent({name:COMPONENT_NAME$d}),_sfc_main$1E=defineComponent({...__default__$10,props:scrollbarProps,emits:scrollbarEmits,setup(n,{expose:e,emit:t}){const i=n,r=useNamespace("scrollbar");let g,y,k,L=0,z=0,V="";const j={bottom:!1,top:!1,right:!1,left:!1},ie=ref$1(),oe=ref$1(),re=ref$1(),ae=ref$1(),le=computed$1(()=>{const Oe={};return i.height&&(Oe.height=addUnit(i.height)),i.maxHeight&&(Oe.maxHeight=addUnit(i.maxHeight)),[i.wrapStyle,Oe]}),de=computed$1(()=>[i.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!i.native}]),ue=computed$1(()=>[r.e("view"),i.viewClass]),he=Oe=>{var Fe;return(Fe=j[Oe])!=null?Fe:!1},pe={top:"bottom",bottom:"top",left:"right",right:"left"},_e=Oe=>{const Fe=pe[V];if(!Fe)return;const Et=Oe[V],ze=Oe[Fe];Et&&!j[V]&&(j[V]=!0),!ze&&j[Fe]&&(j[Fe]=!1)},Ce=()=>{var Oe;if(oe.value){(Oe=ae.value)==null||Oe.handleScroll(oe.value);const Fe=L,Et=z;L=oe.value.scrollTop,z=oe.value.scrollLeft;const ze={bottom:L+oe.value.clientHeight>=oe.value.scrollHeight-i.distance,top:L<=i.distance&&Fe!==0,right:z+oe.value.clientWidth>=oe.value.scrollWidth-i.distance&&Et!==z,left:z<=i.distance&&Et!==0};if(t("scroll",{scrollTop:L,scrollLeft:z}),Fe!==L&&(V=L>Fe?"bottom":"top"),Et!==z&&(V=z>Et?"right":"left"),i.distance>0){if(he(V))return;_e(ze)}ze[V]&&t("end-reached",V)}};function xe(Oe,Fe){isObject(Oe)?oe.value.scrollTo(Oe):isNumber(Oe)&&isNumber(Fe)&&oe.value.scrollTo(Oe,Fe)}const Ie=Oe=>{isNumber(Oe)&&(oe.value.scrollTop=Oe)},Ne=Oe=>{isNumber(Oe)&&(oe.value.scrollLeft=Oe)},$e=()=>{var Oe;(Oe=ae.value)==null||Oe.update(),j[V]=!1};return watch(()=>i.noresize,Oe=>{Oe?(g==null||g(),y==null||y(),k==null||k()):({stop:g}=useResizeObserver(re,$e),{stop:y}=useResizeObserver(oe,$e),k=useEventListener("resize",$e))},{immediate:!0}),watch(()=>[i.maxHeight,i.height],()=>{i.native||nextTick(()=>{var Oe;$e(),oe.value&&((Oe=ae.value)==null||Oe.handleScroll(oe.value))})}),provide(scrollbarContextKey,reactive$1({scrollbarElement:ie,wrapElement:oe})),onActivated(()=>{oe.value&&(oe.value.scrollTop=L,oe.value.scrollLeft=z)}),onMounted(()=>{i.native||nextTick(()=>{$e()})}),onUpdated(()=>$e()),e({wrapRef:oe,update:$e,scrollTo:xe,setScrollTop:Ie,setScrollLeft:Ne,handleScroll:Ce}),(Oe,Fe)=>(openBlock(),createElementBlock("div",{ref_key:"scrollbarRef",ref:ie,class:normalizeClass(unref(r).b())},[createBaseVNode("div",{ref_key:"wrapRef",ref:oe,class:normalizeClass(unref(de)),style:normalizeStyle(unref(le)),tabindex:Oe.tabindex,onScroll:Ce},[(openBlock(),createBlock(resolveDynamicComponent(Oe.tag),{id:Oe.id,ref_key:"resizeRef",ref:re,class:normalizeClass(unref(ue)),style:normalizeStyle(Oe.viewStyle),role:Oe.role,"aria-label":Oe.ariaLabel,"aria-orientation":Oe.ariaOrientation},{default:withCtx(()=>[renderSlot(Oe.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),Oe.native?createCommentVNode("v-if",!0):(openBlock(),createBlock(Bar,{key:0,ref_key:"barRef",ref:ae,always:Oe.always,"min-size":Oe.minSize},null,8,["always","min-size"]))],2))}});var Scrollbar=_export_sfc$1(_sfc_main$1E,[["__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__$$=defineComponent({name:"ElPopper",inheritAttrs:!1}),_sfc_main$1D=defineComponent({...__default__$$,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),(z,V)=>renderSlot(z.$slots,"default")}});var Popper=_export_sfc$1(_sfc_main$1D,[["__file","popper.vue"]]);const __default__$_=defineComponent({name:"ElPopperArrow",inheritAttrs:!1}),_sfc_main$1C=defineComponent({...__default__$_,setup(n,{expose:e}){const t=useNamespace("popper"),{arrowRef:i,arrowStyle:r}=inject(POPPER_CONTENT_INJECTION_KEY,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=_export_sfc$1(_sfc_main$1C,[["__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)}}),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(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__$Z=defineComponent({name:"ElPopperTrigger",inheritAttrs:!1}),_sfc_main$1B=defineComponent({...__default__$Z,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 z;const V=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return onMounted(()=>{watch(()=>t.virtualRef,j=>{j&&(r.value=unrefElement(j))},{immediate:!0}),watch(r,(j,ie)=>{z==null||z(),z=void 0,isElement(j)&&(V.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)&&(z=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(z==null||z(),z=void 0,r.value&&isElement(r.value)){const j=r.value;V.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$1(_sfc_main$1B,[["__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$1A=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:_e}=n,Ce=ae===EVENT_CODE.tab&&!le&&!de&&!ue,xe=document.activeElement;if(Ce&&xe){const Ie=he,[Ne,$e]=getEdges(Ie);if(Ne&&$e){if(!pe&&xe===$e){const Fe=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",Fe),Fe.defaultPrevented||(re.preventDefault(),_e&&tryFocus(Ne,!0))}else if(pe&&[Ne,Ie].includes(xe)){const Fe=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",Fe),Fe.defaultPrevented||(re.preventDefault(),_e&&tryFocus($e,!0))}}else if(xe===Ie){const Fe=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",Fe),Fe.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",V),re.addEventListener("focusout",j)),ae&&(ae.removeEventListener("keydown",k),ae.removeEventListener("focusin",V),ae.removeEventListener("focusout",j))});const L=re=>{e(ON_TRAP_FOCUS_EVT,re)},z=re=>e(ON_RELEASE_FOCUS_EVT,re),V=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$1(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,z),re.dispatchEvent(ae),!ae.defaultPrevented&&(g.value=="keyboard"||!isFocusCausedByUserEvent()||re.contains(document.activeElement))&&tryFocus(i!=null?i:document.body),re.removeEventListener(FOCUS_AFTER_RELEASED,z),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",V),t.value.removeEventListener("focusout",j),t.value=void 0)}),{onKeydown:k}}});function _sfc_render$n(n,e,t,i,r,g){return renderSlot(n.$slots,"default",{handleKeydown:n.onKeydown})}var ElFocusTrap=_export_sfc$1(_sfc_main$1A,[["render",_sfc_render$n],["__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,z){return L[z]="",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),z=[P$1,W].indexOf(k)>=0,V=z?"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[V]+t.rects.reference[L]-y[L]-t.rects.popper[V],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],_e=ue-ie[V]-j[re],Ce=ue/2-ie[V]/2+he,xe=fe(pe,Ce,_e),Ie=L;t.modifiersData[i]=(e={},e[Ie]=xe,e.centerOffset=xe-Ce,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,z=n.adaptive,V=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 V=="function"?V({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,_e=window;if(z){var Ce=se(t),xe="clientHeight",Ie="clientWidth";if(Ce===H(t)&&(Ce=I$1(t),N$1(Ce).position!=="static"&&k==="absolute"&&(xe="scrollHeight",Ie="scrollWidth")),Ce=Ce,r===E$1||(r===P$1||r===W)&&g===J){pe=R;var Ne=j&&Ce===_e&&_e.visualViewport?_e.visualViewport.height:Ce[xe];ae-=Ne-i.height,ae*=L?1:-1}if(r===P$1||(r===E$1||r===R)&&g===J){he=W;var $e=j&&Ce===_e&&_e.visualViewport?_e.visualViewport.width:Ce[Ie];oe-=$e-i.width,oe*=L?1:-1}}var Oe=Object.assign({position:k},z&&qt),Fe=V===!0?Vt({x:oe,y:ae}):{x:oe,y:ae};if(oe=Fe.x,ae=Fe.y,L){var Et;return Object.assign({},Oe,(Et={},Et[pe]=ue?"0":"",Et[he]=de?"0":"",Et.transform=(_e.devicePixelRatio||1)<=1?"translate("+oe+"px, "+ae+"px)":"translate3d("+oe+"px, "+ae+"px, 0)",Et))}return Object.assign({},Oe,(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,z={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({},z,{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({},z,{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),z=[].concat(e.scrollParents.reference,e.scrollParents.popper);return g&&z.forEach(function(V){V.addEventListener("scroll",t.update,ye)}),k&&L.addEventListener("resize",t.update,ye),function(){g&&z.forEach(function(V){V.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 z=ht(n,L);return k.top=X$1(z.top,k.top),k.right=ve(z.right,k.right),k.bottom=ve(z.bottom,k.bottom),k.left=X$1(z.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 z=r?Le(r):null;if(z!=null){var V=z==="y"?"height":"width";switch(g){case U$1:L[z]=L[z]-(e[V]/2-t[V]/2);break;case J:L[z]=L[z]+(e[V]/2-t[V]/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,z=t.elementContext,V=z===void 0?K:z,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=V===K?Ye:K,de=n.rects.popper,ue=n.elements[ie?le:V],he=Gt(Q(ue)?ue:ue.contextElement||I$1(n.elements.popper),y,L),pe=ee(n.elements.reference),_e=mt({reference:pe,element:de,placement:r}),Ce=Te(Object.assign({},de,_e)),xe=V===K?Ce: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(V===K&&Ne){var $e=Ne[r];Object.keys(Ie).forEach(function(Oe){var Fe=[W,R].indexOf(Oe)>=0?1:-1,Et=[E$1,R].indexOf(Oe)>=0?"y":"x";Ie[Oe]+=$e[Et]*Fe})}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,z=L===void 0?Ee:L,V=te(i),j=V?k?De:De.filter(function(re){return te(re)===V}):G,ie=j.filter(function(re){return z.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,z=t.padding,V=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(ui,mi){return ui.concat(q(mi)===me?Jt(e,{placement:mi,boundary:V,rootBoundary:j,padding:z,flipVariations:re,allowedAutoPlacements:ae}):mi)},[]),_e=e.rects.reference,Ce=e.rects.popper,xe=new Map,Ie=!0,Ne=pe[0],$e=0;$e=0,qe=ze?"width":"height",Ve=ne(e,{placement:Oe,boundary:V,rootBoundary:j,altBoundary:ie,padding:z}),kt=ze?Et?W:P$1:Et?R:E$1;_e[qe]>Ce[qe]&&(kt=be(kt));var Ue=be(kt),Dt=[];if(g&&Dt.push(Ve[Fe]<=0),k&&Dt.push(Ve[kt]<=0,Ve[Ue]<=0),Dt.every(function(ui){return ui})){Ne=Oe,Ie=!1;break}xe.set(Oe,Dt)}if(Ie)for(var jt=re?3:1,ei=function(ui){var mi=pe.find(function(pi){var ri=xe.get(pi);if(ri)return ri.slice(0,ui).every(function(oi){return oi})});if(mi)return Ne=mi,"break"},ti=jt;ti>0;ti--){var hi=ei(ti);if(hi==="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),z=gt(k,r,g),V=yt(L),j=yt(z);e.modifiersData[t]={referenceClippingOffsets:L,popperEscapeOffsets:z,isReferenceHidden:V,hasPopperEscaped:j},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":V,"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(V,j){return V[j]=en(j,e.rects,g),V},{}),k=y[e.placement],L=k.x,z=k.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=L,e.modifiersData.popperOffsets.y+=z),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,z=t.rootBoundary,V=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:z,padding:j,altBoundary:V}),de=q(e.placement),ue=te(e.placement),he=!ue,pe=Le(de),_e=rn(pe),Ce=e.modifiersData.popperOffsets,xe=e.rects.reference,Ie=e.rects.popper,Ne=typeof ae=="function"?ae(Object.assign({},e.rects,{placement:e.placement})):ae,$e=typeof Ne=="number"?{mainAxis:Ne,altAxis:Ne}:Object.assign({mainAxis:0,altAxis:0},Ne),Oe=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Fe={x:0,y:0};if(Ce){if(g){var Et,ze=pe==="y"?E$1:P$1,qe=pe==="y"?R:W,Ve=pe==="y"?"height":"width",kt=Ce[pe],Ue=kt+le[ze],Dt=kt-le[qe],jt=oe?-Ie[Ve]/2:0,ei=ue===U$1?xe[Ve]:Ie[Ve],ti=ue===U$1?-Ie[Ve]:-xe[Ve],hi=e.elements.arrow,ui=oe&&hi?ke(hi):{width:0,height:0},mi=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:st(),pi=mi[ze],ri=mi[qe],oi=fe(0,xe[Ve],ui[Ve]),bi=he?xe[Ve]/2-jt-oi-pi-$e.mainAxis:ei-oi-pi-$e.mainAxis,Ti=he?-xe[Ve]/2+jt+oi+ri+$e.mainAxis:ti+oi+ri+$e.mainAxis,Si=e.elements.arrow&&se(e.elements.arrow),ni=Si?pe==="y"?Si.clientTop||0:Si.clientLeft||0:0,fi=(Et=Oe==null?void 0:Oe[pe])!=null?Et:0,si=kt+bi-fi-ni,_i=kt+Ti-fi,Pt=fe(oe?ve(Ue,si):Ue,kt,oe?X$1(Dt,_i):Dt);Ce[pe]=Pt,Fe[pe]=Pt-kt}if(k){var Lt,At=pe==="x"?E$1:P$1,ii=pe==="x"?R:W,gi=Ce[_e],yi=_e==="y"?"height":"width",Li=gi+le[At],Pi=gi-le[ii],xi=[E$1,P$1].indexOf(de)!==-1,Ai=(Lt=Oe==null?void 0:Oe[_e])!=null?Lt:0,Vi=xi?Li:gi-xe[yi]-Ie[yi]-Ai+$e.altAxis,Hi=xi?gi+xe[yi]+Ie[yi]-Ai-$e.altAxis:Pi,qi=oe&&xi?St(Vi,gi,Hi):fe(oe?Vi:Li,gi,oe?Hi:Pi);Ce[_e]=qi,Fe[_e]=qi-gi}e.modifiersData[i]=Fe}}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,default:"absolute"}}),popperContentProps=buildProps({...popperCoreConfigProps,...popperArrowProps,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:Boolean,trapping:Boolean,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:z=>{var V;((V=z.detail)==null?void 0:V.focusReason)!=="pointer"&&(i.value="first",e("blur"))},onFocusAfterTrapped:()=>{e("focus")},onFocusInTrap:z=>{n.visible&&!t.value&&(z.target&&(i.value=z.target),t.value=!0)},onFocusoutPrevented:z=>{n.trapping||(z.detail.focusReason==="pointer"&&z.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 z=deriveState(L);Object.assign(y.value,z)},requires:["computeStyles"]},r=computed$1(()=>{const{onFirstUpdate:L,placement:z,strategy:V,modifiers:j}=unref(t);return{onFirstUpdate:L,placement:z||"bottom",strategy:V||"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 z=unref(g);z&&z.setOptions(L)},{deep:!0}),watch([n,e],([L,z])=>{k(),!(!L||!z)&&(g.value=yn(L,z,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=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;return{name:"arrow",enabled:!isUndefined$3(ue),options:{element:ue,padding:he}}}),z=computed$1(()=>({onFirstUpdate:()=>{re()},...buildPopperOptions(n,[unref(L),unref(k)])})),V=computed$1(()=>unwrapMeasurableEl(n.referenceEl)||unref(i)),{attributes:j,state:ie,styles:oe,update:re,forceUpdate:ae,instanceRef:le}=usePopper(V,t,z);return watch(le,de=>e.value=de,{flush:"sync"}),onMounted(()=>{watch(()=>{var de;return(de=unref(V))==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]),z=computed$1(()=>[{zIndex:unref(k)},unref(t).popper,n.popperStyle||{}]),V=computed$1(()=>i.value==="dialog"?"false":void 0),j=computed$1(()=>unref(t).arrow||{});return{ariaModal:V,arrowStyle:j,contentAttrs:y,contentClass:L,contentStyle:z,contentZIndex:k,updateZIndex:()=>{k.value=isNumber(n.zIndex)?n.zIndex:r()}}},__default__$Y=defineComponent({name:"ElPopperContent"}),_sfc_main$1z=defineComponent({...__default__$Y,props:popperContentProps,emits:popperContentEmits,setup(n,{expose:e,emit:t}){const i=n,{focusStartRef:r,trapped:g,onFocusAfterReleased:y,onFocusAfterTrapped:k,onFocusInTrap:L,onFocusoutPrevented:z,onReleaseRequested:V}=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:_e,contentStyle:Ce,updateZIndex:xe}=usePopperContentDOM(i,{styles:re,attributes:j,role:le}),Ie=inject(formItemContextKey,void 0);provide(POPPER_CONTENT_INJECTION_KEY,{arrowStyle:he,arrowRef:ie}),Ie&&provide(formItemContextKey,{...Ie,addInputId:NOOP,removeInputId:NOOP});let Ne;const $e=(Fe=!0)=>{de(),Fe&&xe()},Oe=()=>{$e(!1),i.visible&&i.focusOnShow?g.value=!0:i.visible===!1&&(g.value=!1)};return onMounted(()=>{watch(()=>i.triggerTargetEl,(Fe,Et)=>{Ne==null||Ne(),Ne=void 0;const ze=unref(Fe||oe.value),qe=unref(Et||oe.value);isElement(ze)&&(Ne=watch([le,()=>i.ariaLabel,ue,()=>i.id],Ve=>{["role","aria-label","aria-modal","id"].forEach((kt,Ue)=>{isNil(Ve[Ue])?ze.removeAttribute(kt):ze.setAttribute(kt,Ve[Ue])})},{immediate:!0})),qe!==ze&&isElement(qe)&&["role","aria-label","aria-modal","id"].forEach(Ve=>{qe.removeAttribute(Ve)})},{immediate:!0}),watch(()=>i.visible,Oe,{immediate:!0})}),onBeforeUnmount(()=>{Ne==null||Ne(),Ne=void 0}),e({popperContentRef:oe,popperInstanceRef:ae,updatePopper:$e,contentStyle:Ce}),(Fe,Et)=>(openBlock(),createElementBlock("div",mergeProps({ref_key:"contentRef",ref:oe},unref(pe),{style:unref(Ce),class:unref(_e),tabindex:"-1",onMouseenter:ze=>Fe.$emit("mouseenter",ze),onMouseleave:ze=>Fe.$emit("mouseleave",ze)}),[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(z),onReleaseRequested:unref(V)},{default:withCtx(()=>[renderSlot(Fe.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var ElPopperContent=_export_sfc$1(_sfc_main$1z,[["__file","content.vue"]]);const ElPopper=withInstall(Popper),TOOLTIP_INJECTION_KEY=Symbol("elTooltip"),teleportProps=buildProps({to:{type:definePropType([String,Object]),required:!0},disabled:Boolean}),useTooltipContentProps=buildProps({...useDelayedToggleProps,...popperContentProps,appendTo:{type:teleportProps.to.type},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:z,onShow:V,onHide:j})=>{const ie=getCurrentInstance$1(),{emit:oe}=ie,re=ie.props,ae=computed$1(()=>isFunction$1(re[t])),le=computed$1(()=>re[n]===null),de=xe=>{y.value!==!0&&(y.value=!0,k&&(k.value=xe),isFunction$1(V)&&V(xe))},ue=xe=>{y.value!==!1&&(y.value=!1,k&&(k.value=xe),isFunction$1(j)&&j(xe))},he=xe=>{if(re.disabled===!0||isFunction$1(z)&&!z())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)},_e=xe=>{isBoolean(xe)&&(re.disabled&&xe?ae.value&&oe(e,!1):y.value!==xe&&(xe?de():ue()))},Ce=()=>{y.value?pe():he()};return watch(()=>re[n],_e),L&&ie.appContext.config.globalProperties.$route!==void 0&&watch(()=>({...ie.proxy.$route}),()=>{L.value&&y.value&&pe()}),onMounted(()=>{_e(re[n])}),{hide:pe,show:he,toggle:Ce,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$1(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__$X=defineComponent({name:"ElTooltipTrigger"}),_sfc_main$1y=defineComponent({...__default__$X,props:useTooltipTriggerProps,setup(n,{expose:e}){const t=n,i=useNamespace("tooltip"),{controlled:r,id:g,open:y,onOpen:k,onClose:L,onToggle:z}=inject(TOOLTIP_INJECTION_KEY,void 0),V=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&&z(pe)})),le=composeEventHandlers(j,whenTrigger(ie,"focus",k)),de=composeEventHandlers(j,whenTrigger(ie,"focus",L)),ue=composeEventHandlers(j,whenTrigger(ie,"contextmenu",pe=>{pe.preventDefault(),z(pe)})),he=composeEventHandlers(j,pe=>{const{code:_e}=pe;t.triggerKeys.includes(_e)&&(pe.preventDefault(),z(pe))});return e({triggerRef:V}),(pe,_e)=>(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$1(_sfc_main$1y,[["__file","trigger.vue"]]);const _sfc_main$1x=defineComponent({__name:"teleport",props:teleportProps,setup(n){return(e,t)=>e.disabled?renderSlot(e.$slots,"default",{key:0}):(openBlock(),createBlock(Teleport$1,{key:1,to:e.to},[renderSlot(e.$slots,"default")],8,["to"]))}});var Teleport=_export_sfc$1(_sfc_main$1x,[["__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__$W=defineComponent({name:"ElTooltipContent",inheritAttrs:!1}),_sfc_main$1w=defineComponent({...__default__$W,props:useTooltipContentProps,setup(n,{expose:e}){const t=n,{selector:i}=usePopperContainerId(),r=useNamespace("tooltip"),g=ref$1(),y=computedEager(()=>{var Ue;return(Ue=g.value)==null?void 0:Ue.popperContentRef});let k;const{controlled:L,id:z,open:V,trigger:j,onClose:ie,onOpen:oe,onShow:re,onHide:ae,onBeforeShow:le,onBeforeHide:de}=inject(TOOLTIP_INJECTION_KEY,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(V)),_e=computed$1(()=>t.disabled?!1:unref(V)),Ce=computed$1(()=>t.appendTo||i.value),xe=computed$1(()=>{var Ue;return(Ue=t.style)!=null?Ue:{}}),Ie=ref$1(!0),Ne=()=>{ae(),kt()&&tryFocus(document.body),Ie.value=!0},$e=()=>{if(unref(L))return!0},Oe=composeEventHandlers($e,()=>{t.enterable&&unref(j)==="hover"&&oe()}),Fe=composeEventHandlers($e,()=>{unref(j)==="hover"&&ie()}),Et=()=>{var Ue,Dt;(Dt=(Ue=g.value)==null?void 0:Ue.updatePopper)==null||Dt.call(Ue),le==null||le()},ze=()=>{de==null||de()},qe=()=>{re()},Ve=()=>{t.virtualTriggering||ie()},kt=Ue=>{var Dt;const jt=(Dt=g.value)==null?void 0:Dt.popperContentRef,ei=(Ue==null?void 0:Ue.relatedTarget)||document.activeElement;return jt==null?void 0:jt.contains(ei)};return watch(()=>unref(V),Ue=>{Ue?(Ie.value=!1,k=onClickOutside(y,()=>{if(unref(L))return;unref(j)!=="hover"&&ie()})):k==null||k()},{flush:"post"}),watch(()=>t.content,()=>{var Ue,Dt;(Dt=(Ue=g.value)==null?void 0:Ue.updatePopper)==null||Dt.call(Ue)}),e({contentRef:g,isFocusInsideContent:kt}),(Ue,Dt)=>(openBlock(),createBlock(unref(ElTeleport),{disabled:!Ue.teleported,to:unref(Ce)},{default:withCtx(()=>[unref(pe)||!Ie.value?(openBlock(),createBlock(Transition,{key:0,name:unref(ue),appear:!unref(he),onAfterLeave:Ne,onBeforeEnter:Et,onAfterEnter:qe,onBeforeLeave:ze,persisted:""},{default:withCtx(()=>[withDirectives(createVNode(unref(ElPopperContent),mergeProps({id:unref(z),ref_key:"contentRef",ref:g},Ue.$attrs,{"aria-label":Ue.ariaLabel,"aria-hidden":Ie.value,"boundaries-padding":Ue.boundariesPadding,"fallback-placements":Ue.fallbackPlacements,"gpu-acceleration":Ue.gpuAcceleration,offset:Ue.offset,placement:Ue.placement,"popper-options":Ue.popperOptions,"arrow-offset":Ue.arrowOffset,strategy:Ue.strategy,effect:Ue.effect,enterable:Ue.enterable,pure:Ue.pure,"popper-class":Ue.popperClass,"popper-style":[Ue.popperStyle,unref(xe)],"reference-el":Ue.referenceEl,"trigger-target-el":Ue.triggerTargetEl,visible:unref(_e),"z-index":Ue.zIndex,onMouseenter:unref(Oe),onMouseleave:unref(Fe),onBlur:Ve,onClose:unref(ie)}),{default:withCtx(()=>[renderSlot(Ue.$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(_e)]])]),_:3},8,["name","appear"])):createCommentVNode("v-if",!0)]),_:3},8,["disabled","to"]))}});var ElTooltipContent=_export_sfc$1(_sfc_main$1w,[["__file","content.vue"]]);const __default__$V=defineComponent({name:"ElTooltip"}),_sfc_main$1v=defineComponent({...__default__$V,props:useTooltipProps,emits:tooltipEmits,setup(n,{expose:e,emit:t}){const i=n;usePopperContainer();const r=useNamespace("tooltip"),g=useId(),y=ref$1(),k=ref$1(),L=()=>{var he;const pe=unref(y);pe&&((he=pe.popperInstanceRef)==null||he.update())},z=ref$1(!1),V=ref$1(),{show:j,hide:ie,hasUpdateHandler:oe}=useTooltipModelToggle({indicator:z,toggleReason:V}),{onOpen:re,onClose:ae}=useDelayedToggle({showAfter:toRef(i,"showAfter"),hideAfter:toRef(i,"hideAfter"),autoClose:toRef(i,"autoClose"),open:j,close:ie}),le=computed$1(()=>isBoolean(i.visible)&&!oe.value),de=computed$1(()=>[r.b(),i.popperClass]);provide(TOOLTIP_INJECTION_KEY,{controlled:le,id:g,open:readonly(z),trigger:toRef(i,"trigger"),onOpen:re,onClose:ae,onToggle:he=>{unref(z)?ae(he):re(he)},onShow:()=>{t("show",V.value)},onHide:()=>{t("hide",V.value)},onBeforeShow:()=>{t("before-show",V.value)},onBeforeHide:()=>{t("before-hide",V.value)},updatePopper:L}),watch(()=>i.disabled,he=>{he&&z.value&&(z.value=!1)});const ue=he=>{var pe;return(pe=k.value)==null?void 0:pe.isFocusInsideContent(he)};return onDeactivated(()=>z.value&&ie()),e({popperRef:y,contentRef:k,isFocusInsideContent:ue,updatePopper:L,onOpen:re,onClose:ae,hide:ie}),(he,pe)=>(openBlock(),createBlock(unref(ElPopper),{ref_key:"popperRef",ref:y,role:he.role},{default:withCtx(()=>[createVNode(ElTooltipTrigger,{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,{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),{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=_export_sfc$1(_sfc_main$1v,[["__file","tooltip.vue"]]);const ElTooltip=withInstall(Tooltip),autocompleteProps=buildProps({...inputProps,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:Boolean,hideLoading:Boolean,teleported:useTooltipContentProps.teleported,appendTo:useTooltipContentProps.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean}),autocompleteEmits={[UPDATE_MODEL_EVENT]:n=>isString$1(n),[INPUT_EVENT]:n=>isString$1(n),[CHANGE_EVENT]:n=>isString$1(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent,clear:()=>!0,select:n=>isObject(n)},COMPONENT_NAME$c="ElAutocomplete",__default__$U=defineComponent({name:COMPONENT_NAME$c,inheritAttrs:!1}),_sfc_main$1u=defineComponent({...__default__$U,props:autocompleteProps,emits:autocompleteEmits,setup(n,{expose:e,emit:t}){const i=n,r=computed$1(()=>pick(i,Object.keys(inputProps))),g=useAttrs$1(),y=useFormDisabled(),k=useNamespace("autocomplete"),L=ref$1(),z=ref$1(),V=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(),_e=computed$1(()=>g.style),Ce=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=()=>{Ce.value&&(le.value="".concat(L.value.$el.offsetWidth,"px"))},$e=()=>{ae.value=-1},Oe=async ri=>{if(ue.value)return;const oi=bi=>{he.value=!1,!ue.value&&(isArray$1(bi)?(re.value=bi,ae.value=i.highlightFirstItem?0:-1):throwError(COMPONENT_NAME$c,"autocomplete suggestions must be an array"))};if(he.value=!0,isArray$1(i.fetchSuggestions))oi(i.fetchSuggestions);else{const bi=await i.fetchSuggestions(ri,oi);isArray$1(bi)&&oi(bi)}},Fe=debounce(Oe,i.debounce),Et=ri=>{const oi=!!ri;if(t(INPUT_EVENT,ri),t(UPDATE_MODEL_EVENT,ri),ue.value=!1,de.value||(de.value=oi),!i.triggerOnFocus&&!ri){ue.value=!0,re.value=[];return}Fe(ri)},ze=ri=>{var oi;y.value||(((oi=ri.target)==null?void 0:oi.tagName)!=="INPUT"||Ie.value.includes(document.activeElement))&&(de.value=!0)},qe=ri=>{t(CHANGE_EVENT,ri)},Ve=ri=>{var oi;if(oe)oe=!1;else{de.value=!0,t("focus",ri);const bi=(oi=i.modelValue)!=null?oi:"";i.triggerOnFocus&&!ie&&Fe(String(bi))}},kt=ri=>{setTimeout(()=>{var oi;if((oi=V.value)!=null&&oi.isFocusInsideContent()){oe=!0;return}de.value&&ei(),t("blur",ri)})},Ue=()=>{de.value=!1,t(UPDATE_MODEL_EVENT,""),t("clear")},Dt=async()=>{Ce.value&&ae.value>=0&&ae.value{Ce.value&&(ri.preventDefault(),ri.stopPropagation(),ei())},ei=()=>{de.value=!1},ti=()=>{var ri;(ri=L.value)==null||ri.focus()},hi=()=>{var ri;(ri=L.value)==null||ri.blur()},ui=async ri=>{t(INPUT_EVENT,ri[i.valueKey]),t(UPDATE_MODEL_EVENT,ri[i.valueKey]),t("select",ri),re.value=[],ae.value=-1},mi=ri=>{if(!Ce.value||he.value)return;if(ri<0){ae.value=-1;return}ri>=re.value.length&&(ri=re.value.length-1);const oi=z.value.querySelector(".".concat(k.be("suggestion","wrap"))),Ti=oi.querySelectorAll(".".concat(k.be("suggestion","list")," li"))[ri],Si=oi.scrollTop,{offsetTop:ni,scrollHeight:fi}=Ti;ni+fi>Si+oi.clientHeight&&(oi.scrollTop+=fi),ni{var ri;(ri=V.value)!=null&&ri.isFocusInsideContent()||Ce.value&&ei()});return onBeforeUnmount(()=>{pi==null||pi()}),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:V,suggestions:re,handleSelect:ui,handleKeyEnter:Dt,focus:ti,blur:hi,close:ei,highlight:mi,getData:Oe}),(ri,oi)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"popperRef",ref:V,visible:unref(Ce),placement:ri.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[unref(k).e("popper"),ri.popperClass],teleported:ri.teleported,"append-to":ri.appendTo,"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:$e},{content:withCtx(()=>[createBaseVNode("div",{ref_key:"regionRef",ref:z,class:normalizeClass([unref(k).b("suggestion"),unref(k).is("loading",unref(xe))]),style:normalizeStyle({[ri.fitInputWidth?"width":"minWidth"]:le.value,outline:"none"}),role:"region"},[ri.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(k).be("suggestion","header")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(ri.$slots,"header")],10,["onClick"])):createCommentVNode("v-if",!0),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(ri.$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,(bi,Ti)=>(openBlock(),createElementBlock("li",{id:"".concat(unref(pe),"-item-").concat(Ti),key:Ti,class:normalizeClass({highlighted:ae.value===Ti}),role:"option","aria-selected":ae.value===Ti,onClick:Si=>ui(bi)},[renderSlot(ri.$slots,"default",{item:bi},()=>[createTextVNode(toDisplayString(bi[ri.valueKey]),1)])],10,["id","aria-selected","onClick"]))),128))]),_:3},8,["id","wrap-class","view-class"]),ri.$slots.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(k).be("suggestion","footer")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(ri.$slots,"footer")],10,["onClick"])):createCommentVNode("v-if",!0)],6)]),default:withCtx(()=>[createBaseVNode("div",{ref_key:"listboxRef",ref:j,class:normalizeClass([unref(k).b(),ri.$attrs.class]),style:normalizeStyle(unref(_e)),role:"combobox","aria-haspopup":"listbox","aria-expanded":unref(Ce),"aria-owns":unref(pe)},[createVNode(unref(ElInput),mergeProps({ref_key:"inputRef",ref:L},mergeProps(unref(r),ri.$attrs),{"model-value":ri.modelValue,disabled:unref(y),onInput:Et,onChange:qe,onFocus:Ve,onBlur:kt,onClear:Ue,onKeydown:[withKeys(withModifiers(bi=>mi(ae.value-1),["prevent"]),["up"]),withKeys(withModifiers(bi=>mi(ae.value+1),["prevent"]),["down"]),withKeys(Dt,["enter"]),withKeys(ei,["tab"]),withKeys(jt,["esc"])],onMousedown:ze}),createSlots({_:2},[ri.$slots.prepend?{name:"prepend",fn:withCtx(()=>[renderSlot(ri.$slots,"prepend")])}:void 0,ri.$slots.append?{name:"append",fn:withCtx(()=>[renderSlot(ri.$slots,"append")])}:void 0,ri.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(ri.$slots,"prefix")])}:void 0,ri.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(ri.$slots,"suffix")])}:void 0]),1040,["model-value","disabled","onKeydown"])],14,["aria-expanded","aria-owns"])]),_:3},8,["visible","placement","popper-class","teleported","append-to","transition"]))}});var Autocomplete=_export_sfc$1(_sfc_main$1u,[["__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__$T=defineComponent({name:"ElBadge"}),_sfc_main$1t=defineComponent({...__default__$T,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,z,V;return[{backgroundColor:t.color,marginRight:addUnit(-((k=(y=t.offset)==null?void 0:y[0])!=null?k:0)),marginTop:addUnit((z=(L=t.offset)==null?void 0:L[1])!=null?z:0)},(V=t.badgeStyle)!=null?V:{}]});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$1(_sfc_main$1t,[["__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(),z=computed$1(()=>{var de;return n.type||(t==null?void 0:t.type)||((de=i.value)==null?void 0:de.type)||""}),V=computed$1(()=>{var de,ue,he;return(he=(ue=n.autoInsertSpace)!=null?ue:(de=i.value)==null?void 0:de.autoInsertSpace)!=null?he:!1}),j=computed$1(()=>{var de,ue,he;return(he=(ue=n.plain)!=null?ue:(de=i.value)==null?void 0:de.plain)!=null?he:!1}),ie=computed$1(()=>{var de,ue,he;return(he=(ue=n.round)!=null?ue:(de=i.value)==null?void 0:de.round)!=null?he:!1}),oe=computed$1(()=>{var de,ue,he;return(he=(ue=n.text)!=null?ue:(de=i.value)==null?void 0:de.text)!=null?he:!1}),re=computed$1(()=>n.tag==="button"?{ariaDisabled:y.value||n.loading,disabled:y.value||n.loading,autofocus:n.autofocus,type:n.nativeType}:{}),ae=computed$1(()=>{var de;const ue=(de=L.default)==null?void 0:de.call(L);if(V.value&&(ue==null?void 0:ue.length)===1){const he=ue[0];if((he==null?void 0:he.type)===Text$2){const pe=he.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(pe.trim())}}return!1});return{_disabled:y,_size:g,_type:z,_ref:k,_props:re,_plain:j,_round:ie,_text:oe,shouldAddSpace:ae,handleClick:de=>{if(y.value||n.loading){de.stopPropagation();return}n.nativeType==="reset"&&(r==null||r.resetFields()),e("click",de)}}},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:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},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 bound01(n,e){isOnePointZero(n)&&(n="100%");var t=isPercentage(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(n){return typeof n=="string"&&n.indexOf(".")!==-1&&parseFloat(n)===1}function isPercentage(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(n,255)*255,g:bound01(e,255)*255,b:bound01(t,255)*255}}function rgbToHsl(n,e,t){n=bound01(n,255),e=bound01(e,255),t=bound01(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(n,360),e=bound01(e,100),t=bound01(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(n,255),e=bound01(e,255),t=bound01(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(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(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;y{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(),z=y.isDark()?"var(".concat(t.cssVarName("color-white"),")"):"var(".concat(t.cssVarName("color-black"),")");if(i=t.cssVarBlock({"bg-color":r,"text-color":z,"border-color":r,"hover-bg-color":L,"hover-text-color":z,"hover-border-color":L,"active-bg-color":k,"active-border-color":k}),e.value){const V=n.dark?darken(y,50):y.tint(50).toString();i[t.cssVarBlockName("disabled-bg-color")]=V,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")]=V}}}return i})}const __default__$S=defineComponent({name:"ElButton"}),_sfc_main$1s=defineComponent({...__default__$S,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:z,_props:V,_plain:j,_round:ie,_text:oe,shouldAddSpace:re,handleClick:ae}=useButton(i,t),le=computed$1(()=>[g.b(),g.m(L.value),g.m(k.value),g.is("disabled",z.value),g.is("loading",i.loading),g.is("plain",j.value),g.is("round",ie.value),g.is("circle",i.circle),g.is("text",oe.value),g.is("link",i.link),g.is("has-bg",i.bg)]);return e({ref:y,size:k,type:L,disabled:z,shouldAddSpace:re}),(de,ue)=>(openBlock(),createBlock(resolveDynamicComponent(de.tag),mergeProps({ref_key:"_ref",ref:y},unref(V),{class:unref(le),style:unref(r),onClick:unref(ae)}),{default:withCtx(()=>[de.loading?(openBlock(),createElementBlock(Fragment,{key:0},[de.$slots.loading?renderSlot(de.$slots,"loading",{key:0}):(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass(unref(g).is("loading"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(de.loadingIcon)))]),_:1},8,["class"]))],64)):de.icon||de.$slots.icon?(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[de.icon?(openBlock(),createBlock(resolveDynamicComponent(de.icon),{key:0})):renderSlot(de.$slots,"icon",{key:1})]),_:3})):createCommentVNode("v-if",!0),de.$slots.default?(openBlock(),createElementBlock("span",{key:2,class:normalizeClass({[unref(g).em("text","expand")]:unref(re)})},[renderSlot(de.$slots,"default")],2)):createCommentVNode("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var Button=_export_sfc$1(_sfc_main$1s,[["__file","button.vue"]]);const buttonGroupProps={size:buttonProps.size,type:buttonProps.type},__default__$R=defineComponent({name:"ElButtonGroup"}),_sfc_main$1r=defineComponent({...__default__$R,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$1(_sfc_main$1r,[["__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(n),i=isDate(e);return t&&i?n.getTime()===e.getTime():!t&&!i?n===e:!1},valueEquals=function(n,e){const t=isArray$1(n),i=isArray$1(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$1(n)?n.map(e=>e.toDate()):n.toDate();var localeData$2={exports:{}},localeData$1=localeData$2.exports,hasRequiredLocaleData;function requireLocaleData(){return hasRequiredLocaleData||(hasRequiredLocaleData=1,function(n,e){(function(t,i){n.exports=i()})(localeData$1,function(){return function(t,i,r){var g=i.prototype,y=function(j){return j&&(j.indexOf?j:j.s)},k=function(j,ie,oe,re,ae){var le=j.name?j:j.$locale(),de=y(le[ie]),ue=y(le[oe]),he=de||ue.map(function(_e){return _e.slice(0,re)});if(!ae)return he;var pe=le.weekStart;return he.map(function(_e,Ce){return he[(Ce+(pe||0))%7]})},L=function(){return r.Ls[r.locale()]},z=function(j,ie){return j.formats[ie]||function(oe){return oe.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(re,ae,le){return ae||le.slice(1)})}(j.formats[ie.toUpperCase()])},V=function(){var j=this;return{months:function(ie){return ie?ie.format("MMMM"):k(j,"months")},monthsShort:function(ie){return ie?ie.format("MMM"):k(j,"monthsShort","months",3)},firstDayOfWeek:function(){return j.$locale().weekStart||0},weekdays:function(ie){return ie?ie.format("dddd"):k(j,"weekdays")},weekdaysMin:function(ie){return ie?ie.format("dd"):k(j,"weekdaysMin","weekdays",2)},weekdaysShort:function(ie){return ie?ie.format("ddd"):k(j,"weekdaysShort","weekdays",3)},longDateFormat:function(ie){return z(j.$locale(),ie)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};g.localeData=function(){return V.bind(this)()},r.localeData=function(){var j=L();return{firstDayOfWeek:function(){return j.weekStart||0},weekdays:function(){return r.weekdays()},weekdaysShort:function(){return r.weekdaysShort()},weekdaysMin:function(){return r.weekdaysMin()},months:function(){return r.months()},monthsShort:function(){return r.monthsShort()},longDateFormat:function(ie){return z(j,ie)},meridiem:j.meridiem,ordinal:j.ordinal}},r.months=function(){return k(L(),"months")},r.monthsShort=function(){return k(L(),"monthsShort","months",3)},r.weekdays=function(j){return k(L(),"weekdays",null,null,j)},r.weekdaysShort=function(j){return k(L(),"weekdaysShort","weekdays",3,j)},r.weekdaysMin=function(j){return k(L(),"weekdaysMin","weekdays",2,j)}}})}(localeData$2)),localeData$2.exports}var localeDataExports=requireLocaleData();const localeData=getDefaultExportFromCjs(localeDataExports),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:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}}),__default__$Q=defineComponent({name:"ElCard"}),_sfc_main$1q=defineComponent({...__default__$Q,props:cardProps,setup(n){const e=useGlobalConfig("card"),t=useNamespace("card");return(i,r)=>{var g;return openBlock(),createElementBlock("div",{class:normalizeClass([unref(t).b(),unref(t).is("".concat(i.shadow||((g=unref(e))==null?void 0:g.shadow)||"always","-shadow"))])},[i.$slots.header||i.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(t).e("header"),i.headerClass])},[renderSlot(i.$slots,"header",{},()=>[createTextVNode(toDisplayString(i.header),1)])],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([unref(t).e("body"),i.bodyClass]),style:normalizeStyle(i.bodyStyle)},[renderSlot(i.$slots,"default")],6),i.$slots.footer||i.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([unref(t).e("footer"),i.footerClass])},[renderSlot(i.$slots,"footer",{},()=>[createTextVNode(toDisplayString(i.footer),1)])],2)):createCommentVNode("v-if",!0)],2)}}});var Card=_export_sfc$1(_sfc_main$1q,[["__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$1(n)?n:[n],t=[];return e.forEach(i=>{var r;isArray$1(i)?t.push(...flattedChildren(i)):isVNode(i)&&((r=i.component)!=null&&r.subTree)?t.push(i,...flattedChildren(i.component.subTree)):isVNode(i)&&isArray$1(i.children)?t.push(...flattedChildren(i.children)):isVNode(i)&&i.shapeFlag===2?t.push(...flattedChildren(i.type())):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=shallowRef({}),i=shallowRef([]),r=new WeakMap,g=V=>{t.value[V.uid]=V,triggerRef(t),onMounted(()=>{const j=V.getVnode().el,ie=j.parentNode;if(!r.has(ie)){r.set(ie,[]);const oe=ie.insertBefore.bind(ie);ie.insertBefore=(re,ae)=>(r.get(ie).some(de=>re===de||ae===de)&&triggerRef(t),oe(re,ae))}r.get(ie).push(j)})},y=V=>{delete t.value[V.uid],triggerRef(t);const j=V.getVnode().el,ie=j.parentNode,oe=r.get(ie),re=oe.indexOf(j);oe.splice(re,1)},k=()=>{i.value=getOrderedChildren(n,e,t.value)},L=V=>V.render();return{children:i,addChild:g,removeChild:y,ChildrenSorter:defineComponent({setup(V,{slots:j}){return()=>(k(),j.default?h$2(L,{render:j.default}):null)}})}},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$1(n)||isNumber(n)||isBoolean(n),change:n=>isString$1(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 z(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 V(re,ae){L(CHANGE_EVENT,z(re),ae)}function j(re){if(t.value)return;const ae=re.target;L(CHANGE_EVENT,z(ae.checked),re)}async function ie(re){t.value||!i.value&&!r.value&&g.value&&(re.composedPath().some(de=>de.tagName==="LABEL")||(e.value=z([!1,n.falseValue,n.falseLabel].includes(e.value)),await nextTick(),V(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,z;r.value&&isArray$1(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&&((z=i==null?void 0:i.changeEvent)==null||z.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 V=t.value;return isBoolean(V)?V:isArray$1(V)?isObject(g.value)?V.map(toRaw).some(j=>isEqual(j,g.value)):V.map(toRaw).includes(g.value):V!=null?V===n.trueValue||V===n.trueLabel:!!V}),k=useFormSize(computed$1(()=>{var V;return(V=i==null?void 0:i.size)==null?void 0:V.value}),{prop:!0}),L=useFormSize(computed$1(()=>{var V;return(V=i==null?void 0:i.size)==null?void 0:V.value})),z=computed$1(()=>!!e.default||!isPropAbsent(g.value));return{checkboxButtonSize:k,isChecked:y,isFocused:r,checkboxSize:L,hasOwnLabel:z,actualValue:g}},useCheckbox=(n,e)=>{const{formItem:t}=useFormItem(),{model:i,isGroup:r,isLimitExceeded:g}=useCheckboxModel(n),{isFocused:y,isChecked:k,checkboxButtonSize:L,checkboxSize:z,hasOwnLabel:V,actualValue:j}=useCheckboxStatus(n,e,{model:i}),{isDisabled:ie}=useCheckboxDisabled({model:i,isChecked:k}),{inputId:oe,isLabeledByFormItem:re}=useFormItemInputId(n,{formItemContext:t,disableIdGeneration:V,disableIdManagement:r}),{handleChange:ae,onClickRoot:le}=useCheckboxEvent(n,{model:i,isLimitExceeded:g,hasOwnLabel:V,isDisabled:ie,isLabeledByFormItem:re});return(()=>{function ue(){var he,pe;isArray$1(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:z,hasOwnLabel:V,model:i,actualValue:j,handleChange:ae,onClickRoot:le}},__default__$P=defineComponent({name:"ElCheckbox"}),_sfc_main$1p=defineComponent({...__default__$P,props:checkboxProps,emits:checkboxEmits,setup(n){const e=n,t=useSlots(),{inputId:i,isLabeledByFormItem:r,isChecked:g,isDisabled:y,isFocused:k,checkboxSize:L,hasOwnLabel:z,model:V,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(z)&&unref(r)?"span":"label"),{class:normalizeClass(unref(ae)),"aria-controls":de.indeterminate?de.ariaControls:null,onClick:unref(oe)},{default:withCtx(()=>{var he,pe,_e,Ce;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(V)?V.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":(Ce=(_e=de.falseValue)!=null?_e:de.falseLabel)!=null?Ce:!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(V)]]):withDirectives((openBlock(),createElementBlock("input",{key:1,id:unref(i),"onUpdate:modelValue":xe=>isRef(V)?V.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(V)]]),createBaseVNode("span",{class:normalizeClass(unref(re).e("inner"))},null,2)],2),unref(z)?(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$1(_sfc_main$1p,[["__file","checkbox.vue"]]);const __default__$O=defineComponent({name:"ElCheckboxButton"}),_sfc_main$1o=defineComponent({...__default__$O,props:checkboxProps,emits:checkboxEmits,setup(n){const e=n,t=useSlots(),{isFocused:i,isChecked:r,isDisabled:g,checkboxButtonSize:y,model:k,actualValue:L,handleChange:z}=useCheckbox(e,t),V=inject(checkboxGroupContextKey,void 0),j=useNamespace("checkbox"),ie=computed$1(()=>{var re,ae,le,de;const ue=(ae=(re=V==null?void 0:V.fill)==null?void 0:re.value)!=null?ae:"";return{backgroundColor:ue,borderColor:ue,color:(de=(le=V==null?void 0:V.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(z),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(z),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$1(_sfc_main$1o,[["__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$1(n),change:n=>isArray$1(n)},__default__$N=defineComponent({name:"ElCheckboxGroup"}),_sfc_main$1n=defineComponent({...__default__$N,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 z=>{e(UPDATE_MODEL_EVENT,z),await nextTick(),e(CHANGE_EVENT,z)},L=computed$1({get(){return t.modelValue},set(z){k(z)}});return provide(checkboxGroupContextKey,{...pick(toRefs(t),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:L,changeEvent:k}),watch(()=>t.modelValue,(z,V)=>{t.validateEvent&&!isEqual(z,V)&&(r==null||r.validate("change").catch(j=>void 0))}),(z,V)=>{var j;return openBlock(),createBlock(resolveDynamicComponent(z.tag),{id:unref(g),class:normalizeClass(unref(i).b("group")),role:"group","aria-label":unref(y)?void 0:z.ariaLabel||"checkbox-group","aria-labelledby":unref(y)?(j=unref(r))==null?void 0:j.labelId:void 0},{default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var CheckboxGroup=_export_sfc$1(_sfc_main$1n,[["__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$1(n)||isNumber(n)||isBoolean(n),[CHANGE_EVENT]:n=>isString$1(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)),z=ref$1(!1),V=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:z,size:k,disabled:L,tabIndex:V,modelValue:y,actualValue:g}},__default__$M=defineComponent({name:"ElRadio"}),_sfc_main$1m=defineComponent({...__default__$M,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:z,actualValue:V}=useRadio(t,e);function j(){nextTick(()=>e(CHANGE_EVENT,z.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(z)===unref(V)),unref(i).m(unref(k))])},[createBaseVNode("span",{class:normalizeClass([unref(i).e("input"),unref(i).is("disabled",unref(L)),unref(i).is("checked",unref(z)===unref(V))])},[withDirectives(createBaseVNode("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":ae=>isRef(z)?z.value=ae:null,class:normalizeClass(unref(i).e("original")),value:unref(V),name:ie.name||((re=unref(g))==null?void 0:re.name),disabled:unref(L),checked:unref(z)===unref(V),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(z)]]),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$1(_sfc_main$1m,[["__file","radio.vue"]]);const radioButtonProps=buildProps({...radioPropsBase}),__default__$L=defineComponent({name:"ElRadioButton"}),_sfc_main$1l=defineComponent({...__default__$L,props:radioButtonProps,setup(n){const e=n,t=useNamespace("radio"),{radioRef:i,focus:r,size:g,disabled:y,modelValue:k,radioGroup:L,actualValue:z}=useRadio(e),V=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(z)),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(z),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(z)?unref(V):{}),onKeydown:withModifiers(()=>{},["stop"])},[renderSlot(j.$slots,"default",{},()=>[createTextVNode(toDisplayString(j.label),1)])],46,["onKeydown"])],2)}}});var RadioButton=_export_sfc$1(_sfc_main$1l,[["__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__$K=defineComponent({name:"ElRadioGroup"}),_sfc_main$1k=defineComponent({...__default__$K,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}),z=j=>{e(UPDATE_MODEL_EVENT,j),nextTick(()=>e(CHANGE_EVENT,j))};onMounted(()=>{const j=g.value.querySelectorAll("[type=radio]"),ie=j[0];!Array.from(j).some(oe=>oe.checked)&&ie&&(ie.tabIndex=0)});const V=computed$1(()=>t.name||r.value);return provide(radioGroupKey,reactive$1({...toRefs(t),changeEvent:z,name:V})),watch(()=>t.modelValue,(j,ie)=>{t.validateEvent&&!isEqual(j,ie)&&(y==null||y.validate("change").catch(oe=>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$1(_sfc_main$1k,[["__file","radio-group.vue"]]);const ElRadio=withInstall(Radio,{RadioButton,RadioGroup}),ElRadioGroup=withNoopInstall(RadioGroup),ElRadioButton=withNoopInstall(RadioButton),CASCADER_PANEL_INJECTION_KEY=Symbol();function isVNodeEmpty(n){return!!(isArray$1(n)?n.every(({type:e})=>e===Comment):(n==null?void 0:n.type)===Comment)}var NodeContent$1=defineComponent({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(n){const e=useNamespace("cascader-node"),{renderLabelFn:t}=inject(CASCADER_PANEL_INJECTION_KEY),{node:i}=n,{data:r,label:g}=i,y=()=>{const k=t==null?void 0:t({node:i,data:r});return isVNodeEmpty(k)?g:k!=null?k:g};return()=>createVNode("span",{class:e.e("label")},[y()])}});const __default__$J=defineComponent({name:"ElCascaderNode"}),_sfc_main$1j=defineComponent({...__default__$J,props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(n,{emit:e}){const t=n,i=inject(CASCADER_PANEL_INJECTION_KEY),r=useNamespace("cascader-node"),g=computed$1(()=>i.isHoverMenu),y=computed$1(()=>i.config.multiple),k=computed$1(()=>i.config.checkStrictly),L=computed$1(()=>i.config.showPrefix),z=computed$1(()=>{var Ie;return(Ie=i.checkedNodes[0])==null?void 0:Ie.uid}),V=computed$1(()=>t.node.isDisabled),j=computed$1(()=>t.node.isLeaf),ie=computed$1(()=>k.value&&!j.value||!V.value),oe=computed$1(()=>ae(i.expandingNode)),re=computed$1(()=>k.value&&i.checkedNodes.some(ae)),ae=Ie=>{var Ne;const{level:$e,uid:Oe}=t.node;return((Ne=Ie==null?void 0:Ie.pathNodes[$e-1])==null?void 0:Ne.uid)===Oe},le=()=>{oe.value||i.expandNode(t.node)},de=Ie=>{const{node:Ne}=t;Ie!==Ne.checked&&i.handleCheckChange(Ne,Ie)},ue=()=>{i.lazyLoad(t.node,()=>{j.value||le()})},he=Ie=>{g.value&&(pe(),!j.value&&e("expand",Ie))},pe=()=>{const{node:Ie}=t;!ie.value||Ie.loading||(Ie.loaded?le():ue())},_e=()=>{g.value||(j.value&&!V.value&&!k.value&&!y.value?xe(!0):(i.config.checkOnClickNode||j.value&&i.config.checkOnClickLeaf)&&!V.value?Ce(!t.node.checked):pe())},Ce=Ie=>{k.value?(de(Ie),t.node.loaded&&le()):xe(Ie)},xe=Ie=>{t.node.loaded?(de(Ie),!k.value&&le()):ue()};return(Ie,Ne)=>(openBlock(),createElementBlock("li",{id:"".concat(n.menuId,"-").concat(n.node.uid),role:"menuitem","aria-haspopup":!unref(j),"aria-owns":unref(j)?void 0:n.menuId,"aria-expanded":unref(oe),tabindex:unref(ie)?-1:void 0,class:normalizeClass([unref(r).b(),unref(r).is("selectable",unref(k)),unref(r).is("active",n.node.checked),unref(r).is("disabled",!unref(ie)),unref(oe)&&"in-active-path",unref(re)&&"in-checked-path"]),onMouseenter:he,onFocus:he,onClick:_e},[createCommentVNode(" prefix "),unref(y)&&unref(L)?(openBlock(),createBlock(unref(ElCheckbox),{key:0,"model-value":n.node.checked,indeterminate:n.node.indeterminate,disabled:unref(V),onClick:withModifiers(()=>{},["stop"]),"onUpdate:modelValue":Ce},null,8,["model-value","indeterminate","disabled","onClick"])):unref(k)&&unref(L)?(openBlock(),createBlock(unref(ElRadio),{key:1,"model-value":unref(z),label:n.node.uid,disabled:unref(V),"onUpdate:modelValue":Ce,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","onClick"])):unref(j)&&n.node.checked?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(r).e("prefix"))},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1},8,["class"])):createCommentVNode("v-if",!0),createCommentVNode(" content "),createVNode(unref(NodeContent$1),{node:n.node},null,8,["node"]),createCommentVNode(" postfix "),unref(j)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock(Fragment,{key:3},[n.node.loading?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(r).is("loading"),unref(r).e("postfix")])},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"])):(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass(["arrow-right",unref(r).e("postfix")])},{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1},8,["class"]))],64))],42,["id","aria-haspopup","aria-owns","aria-expanded","tabindex"]))}});var ElCascaderNode=_export_sfc$1(_sfc_main$1j,[["__file","node.vue"]]);const __default__$I=defineComponent({name:"ElCascaderMenu"}),_sfc_main$1i=defineComponent({...__default__$I,props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(n){const e=n,t=getCurrentInstance$1(),i=useNamespace("cascader-menu"),{t:r}=useLocale(),g=useId();let y,k;const L=inject(CASCADER_PANEL_INJECTION_KEY),z=ref$1(),V=computed$1(()=>!e.nodes.length),j=computed$1(()=>!L.initialLoaded),ie=computed$1(()=>"".concat(g.value,"-").concat(e.index)),oe=de=>{y=de.target},re=de=>{if(!(!L.isHoverMenu||!y||!z.value))if(y.contains(de.target)){ae();const ue=t.vnode.el,{left:he}=ue.getBoundingClientRect(),{offsetWidth:pe,offsetHeight:_e}=ue,Ce=de.clientX-he,xe=y.offsetTop,Ie=xe+y.offsetHeight;z.value.innerHTML='\n \n \n ')}else k||(k=window.setTimeout(le,L.config.hoverThreshold))},ae=()=>{k&&(clearTimeout(k),k=void 0)},le=()=>{z.value&&(z.value.innerHTML="",ae())};return(de,ue)=>(openBlock(),createBlock(unref(ElScrollbar),{key:unref(ie),tag:"ul",role:"menu",class:normalizeClass(unref(i).b()),"wrap-class":unref(i).e("wrap"),"view-class":[unref(i).e("list"),unref(i).is("empty",unref(V))],onMousemove:re,onMouseleave:le},{default:withCtx(()=>{var he;return[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.nodes,pe=>(openBlock(),createBlock(ElCascaderNode,{key:pe.uid,node:pe,"menu-id":unref(ie),onExpand:oe},null,8,["node","menu-id"]))),128)),unref(j)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(i).e("empty-text"))},[createVNode(unref(ElIcon),{size:"14",class:normalizeClass(unref(i).is("loading"))},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"]),createTextVNode(" "+toDisplayString(unref(r)("el.cascader.loading")),1)],2)):unref(V)?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(i).e("empty-text"))},[renderSlot(de.$slots,"empty",{},()=>[createTextVNode(toDisplayString(unref(r)("el.cascader.noData")),1)])],2)):(he=unref(L))!=null&&he.isHoverMenu?(openBlock(),createElementBlock(Fragment,{key:2},[createCommentVNode(" eslint-disable-next-line vue/html-self-closing "),(openBlock(),createElementBlock("svg",{ref_key:"hoverZone",ref:z,class:normalizeClass(unref(i).e("hover-zone"))},null,2))],2112)):createCommentVNode("v-if",!0)]}),_:3},8,["class","wrap-class","view-class"]))}});var ElCascaderMenu=_export_sfc$1(_sfc_main$1i,[["__file","menu.vue"]]);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 Ql{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],z=calculatePathNodes(this);this.level=r?0:i?i.level+1:1,this.value=e[g],this.label=e[y],this.pathNodes=z,this.pathValues=z.map(V=>V.value),this.pathLabels=z.map(V=>V.label),this.childrenData=L,this.children=(L||[]).map(V=>new Ql(V,t,this)),this.loaded=!t.lazy||this.isLeaf||!isEmpty(L),this.text=""}get isDisabled(){const{data:e,parent:t,config:i}=this,{disabled:r,checkStrictly:g}=i;return(isFunction$1(r)?r(e,this):!!e[r])||!g&&!!(t!=null&&t.isDisabled)}get isLeaf(){const{data:e,config:t,childrenData:i,loaded:r}=this,{lazy:g,leaf:y}=t,k=isFunction$1(y)?y(e,this):e[y];return isUndefined(k)?g&&!r?!1:!(isArray$1(i)&&i.length):!!k}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(e){const{childrenData:t,children:i}=this,r=new Ql(e,this.config,this);return isArray$1(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){this.children.forEach(t=>{var i;t&&(t.broadcast(e),(i=t.onParentCheck)==null||i.call(t,e))})}emit(){var e;const{parent:t}=this;t&&((e=t.onChildCheck)==null||e.call(t),t.emit())}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(e),this.setCheckState(e),this.emit())}};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.appendAllNodesAndLeafNodes(i)}appendNodes(e,t){e.length>0?e.forEach(i=>this.appendNode(i,t)):t&&t.isLeaf&&this.leafNodes.push(t)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(t=>{this.appendAllNodesAndLeafNodes(t)})}getNodeByValue(e,t=!1){return isPropAbsent(e)?null:this.getFlattedNodes(t).find(r=>isEqual(r.value,e)||isEqual(r.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:i,level:r})=>isEqual(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,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},cascaderPanelProps=buildProps({...CommonProps,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),emitChangeFn$2=n=>!0,cascaderPanelEmits={[UPDATE_MODEL_EVENT]:emitChangeFn$2,[CHANGE_EVENT]:emitChangeFn$2,close:()=>!0,"expand-change":n=>n},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$1(n)?n:[n],__default__$H=defineComponent({name:"ElCascaderPanel",inheritAttrs:!1}),_sfc_main$1h=defineComponent({...__default__$H,props:cascaderPanelProps,emits:cascaderPanelEmits,setup(n,{expose:e,emit:t}){const i=n;let r=!1;const g=useNamespace("cascader"),y=useCascaderConfig(i),k=useSlots();let L;const z=ref$1(!0),V=ref$1([]),j=ref$1(),ie=ref$1([]),oe=ref$1(),re=ref$1([]),ae=computed$1(()=>y.value.expandTrigger==="hover"),le=computed$1(()=>i.renderLabel||k.default),de=()=>{const{options:ze}=i,qe=y.value;r=!1,L=new Store(ze,qe),ie.value=[L.getNodes()],qe.lazy&&isEmpty(i.options)?(z.value=!1,ue(void 0,Ve=>{Ve&&(L=new Store(Ve,qe),ie.value=[L.getNodes()]),z.value=!0,$e(!1,!0)})):$e(!1,!0)},ue=(ze,qe)=>{const Ve=y.value;ze=ze||new Node$2({},Ve,void 0,!0),ze.loading=!0;const kt=Ue=>{const Dt=ze,jt=Dt.root?null:Dt;Dt.loading=!1,Dt.loaded=!0,Dt.childrenData=Dt.childrenData||[],Ue&&(L==null||L.appendNodes(Ue,jt)),Ue&&(qe==null||qe(Ue))};Ve.lazyLoad(ze,kt)},he=(ze,qe)=>{var Ve;const{level:kt}=ze,Ue=ie.value.slice(0,kt);let Dt;ze.isLeaf?Dt=ze.pathNodes[kt-2]:(Dt=ze,Ue.push(ze.children)),((Ve=oe.value)==null?void 0:Ve.uid)!==(Dt==null?void 0:Dt.uid)&&(oe.value=ze,ie.value=Ue,!qe&&t("expand-change",(ze==null?void 0:ze.pathValues)||[]))},pe=(ze,qe,Ve=!0)=>{const{checkStrictly:kt,multiple:Ue}=y.value,Dt=re.value[0];r=!0,!Ue&&(Dt==null||Dt.doCheck(!1)),ze.doCheck(qe),Ne(),Ve&&!Ue&&!kt&&t("close"),!Ve&&!Ue&&!kt&&_e(ze)},_e=ze=>{ze&&(ze=ze.parent,_e(ze),ze&&he(ze))},Ce=ze=>L==null?void 0:L.getFlattedNodes(ze),xe=ze=>{var qe;return(qe=Ce(ze))==null?void 0:qe.filter(({checked:Ve})=>Ve!==!1)},Ie=()=>{re.value.forEach(ze=>ze.doCheck(!1)),Ne(),ie.value=ie.value.slice(0,1),oe.value=void 0,t("expand-change",[])},Ne=()=>{var ze;const{checkStrictly:qe,multiple:Ve}=y.value,kt=re.value,Ue=xe(!qe),Dt=sortByOriginalOrder(kt,Ue),jt=Dt.map(ei=>ei.valueByOption);re.value=Dt,j.value=Ve?jt:(ze=jt[0])!=null?ze:null},$e=(ze=!1,qe=!1)=>{const{modelValue:Ve}=i,{lazy:kt,multiple:Ue,checkStrictly:Dt}=y.value,jt=!Dt;if(!(!z.value||r||!qe&&isEqual(Ve,j.value)))if(kt&&!ze){const ti=unique(flattenDeep(castArray(Ve))).map(hi=>L==null?void 0:L.getNodeByValue(hi)).filter(hi=>!!hi&&!hi.loaded&&!hi.loading);ti.length?ti.forEach(hi=>{ue(hi,()=>$e(!1,qe))}):$e(!0,qe)}else{const ei=Ue?castArray(Ve):[Ve],ti=unique(ei.map(hi=>L==null?void 0:L.getNodeByValue(hi,jt)));Oe(ti,qe),j.value=cloneDeep(Ve!=null?Ve:void 0)}},Oe=(ze,qe=!0)=>{const{checkStrictly:Ve}=y.value,kt=re.value,Ue=ze.filter(ei=>!!ei&&(Ve||ei.isLeaf)),Dt=L==null?void 0:L.getSameNode(oe.value),jt=qe&&Dt||Ue[0];jt?jt.pathNodes.forEach(ei=>he(ei,!0)):oe.value=void 0,kt.forEach(ei=>ei.doCheck(!1)),reactive$1(Ue).forEach(ei=>ei.doCheck(!0)),re.value=Ue,nextTick(Fe)},Fe=()=>{isClient&&V.value.forEach(ze=>{const qe=ze==null?void 0:ze.$el;if(qe){const Ve=qe.querySelector(".".concat(g.namespace.value,"-scrollbar__wrap")),kt=qe.querySelector(".".concat(g.b("node"),".").concat(g.is("active"),":last-child"))||qe.querySelector(".".concat(g.b("node"),".in-active-path"));scrollIntoView(Ve,kt)}})},Et=ze=>{const qe=ze.target,{code:Ve}=ze;switch(Ve){case EVENT_CODE.up:case EVENT_CODE.down:{ze.preventDefault();const kt=Ve===EVENT_CODE.up?-1:1;focusNode(getSibling(qe,kt,".".concat(g.b("node"),'[tabindex="-1"]')));break}case EVENT_CODE.left:{ze.preventDefault();const kt=V.value[getMenuIndex(qe)-1],Ue=kt==null?void 0:kt.$el.querySelector(".".concat(g.b("node"),'[aria-expanded="true"]'));focusNode(Ue);break}case EVENT_CODE.right:{ze.preventDefault();const kt=V.value[getMenuIndex(qe)+1],Ue=kt==null?void 0:kt.$el.querySelector(".".concat(g.b("node"),'[tabindex="-1"]'));focusNode(Ue);break}case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:checkNode(qe);break}};return provide(CASCADER_PANEL_INJECTION_KEY,reactive$1({config:y,expandingNode:oe,checkedNodes:re,isHoverMenu:ae,initialLoaded:z,renderLabelFn:le,lazyLoad:ue,expandNode:he,handleCheckChange:pe})),watch(y,(ze,qe)=>{isEqual(ze,qe)||de()},{immediate:!0}),watch(()=>i.options,de,{deep:!0}),watch(()=>i.modelValue,()=>{r=!1,$e()},{deep:!0}),watch(()=>j.value,ze=>{isEqual(ze,i.modelValue)||(t(UPDATE_MODEL_EVENT,ze),t(CHANGE_EVENT,ze))}),onBeforeUpdate(()=>V.value=[]),onMounted(()=>!isEmpty(i.modelValue)&&$e()),e({menuList:V,menus:ie,checkedNodes:re,handleKeyDown:Et,handleCheckChange:pe,getFlattedNodes:Ce,getCheckedNodes:xe,clearCheckedNodes:Ie,calculateCheckedValue:Ne,scrollToExpandingNode:Fe}),(ze,qe)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(g).b("panel"),unref(g).is("bordered",ze.border)]),onKeydown:Et},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ie.value,(Ve,kt)=>(openBlock(),createBlock(ElCascaderMenu,{key:kt,ref_for:!0,ref:Ue=>V.value[kt]=Ue,index:kt,nodes:[...Ve]},{empty:withCtx(()=>[renderSlot(ze.$slots,"empty")]),_:2},1032,["index","nodes"]))),128))],34))}});var CascaderPanel=_export_sfc$1(_sfc_main$1h,[["__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__$G=defineComponent({name:"ElTag"}),_sfc_main$1g=defineComponent({...__default__$G,props:tagProps,emits:tagEmits,setup(n,{emit:e}){const t=n,i=useFormSize(),r=useNamespace("tag"),g=computed$1(()=>{const{type:z,hit:V,effect:j,closable:ie,round:oe}=t;return[r.b(),r.is("closable",ie),r.m(z||"primary"),r.m(i.value),r.m(j),r.is("hit",V),r.is("round",oe)]}),y=z=>{e("close",z)},k=z=>{e("click",z)},L=z=>{var V,j,ie;(ie=(j=(V=z==null?void 0:z.component)==null?void 0:V.subTree)==null?void 0:j.component)!=null&&ie.bum&&(z.component.subTree.component.bum=null)};return(z,V)=>z.disableTransitions?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(g)),style:normalizeStyle({backgroundColor:z.color}),onClick:k},[createBaseVNode("span",{class:normalizeClass(unref(r).e("content"))},[renderSlot(z.$slots,"default")],2),z.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:z.color}),onClick:k},[createBaseVNode("span",{class:normalizeClass(unref(r).e("content"))},[renderSlot(z.$slots,"default")],2),z.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$1(_sfc_main$1g,[["__file","tag.vue"]]);const ElTag=withInstall(Tag),cascaderProps=buildProps({...CommonProps,size:useSizeProp,placeholder:String,disabled:Boolean,clearable:Boolean,clearIcon:{type:iconPropType,default:circle_close_default},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:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},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:useTooltipContentProps.popperClass,popperStyle:useTooltipContentProps.popperStyle,teleported:useTooltipContentProps.teleported,effect:{type:definePropType(String),default:"light"},tagType:{...tagProps.type,default:"info"},tagEffect:{...tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0},...useEmptyValuesProps}),emitChangeFn$1=n=>!0,cascaderEmits={[UPDATE_MODEL_EVENT]:emitChangeFn$1,[CHANGE_EVENT]:emitChangeFn$1,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$1(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,z=!y||!k,V=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||z||V||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$b="ElCascader",__default__$F=defineComponent({name:COMPONENT_NAME$b}),_sfc_main$1f=defineComponent({...__default__$F,props:cascaderProps,emits:cascaderEmits,setup(n,{expose:e,emit:t}){const i=n,r={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:di})=>{const{modifiersData:Ni,placement:Mi}=di;["right","left","bottom","top"].includes(Mi)||Ni.arrow&&(Ni.arrow.x=35)},requires:["arrow"]}]},g=useAttrs$1();let y=0,k=0;const L=useNamespace("cascader"),z=useNamespace("input"),{t:V}=useLocale(),{formItem:j}=useFormItem(),ie=useFormDisabled(),{valueOnClear:oe}=useEmptyValues(i),{isComposing:re,handleComposition:ae}=useComposition({afterComposition(di){var Ni;const Mi=(Ni=di.target)==null?void 0:Ni.value;Ei(Mi)}}),le=ref$1(null),de=ref$1(),ue=ref$1(),he=ref$1(null),pe=ref$1(null),_e=ref$1(null),Ce=ref$1(!1),xe=ref$1(!1),Ie=ref$1(!1),Ne=ref$1(""),$e=ref$1(""),Oe=ref$1([]),Fe=ref$1([]),Et=ref$1([]),ze=computed$1(()=>g.style),qe=computed$1(()=>{var di;return(di=i.placeholder)!=null?di:V("el.cascader.placeholder")}),Ve=computed$1(()=>$e.value||Oe.value.length>0||re.value?"":qe.value),kt=useFormSize(),Ue=computed$1(()=>kt.value==="small"?"small":"default"),Dt=computed$1(()=>!!i.props.multiple),jt=computed$1(()=>!i.filterable||Dt.value),ei=computed$1(()=>Dt.value?$e.value:Ne.value),ti=computed$1(()=>{var di;return((di=pe.value)==null?void 0:di.checkedNodes)||[]}),{wrapperRef:hi,isFocused:ui,handleBlur:mi}=useFocusController(ue,{disabled:ie,beforeBlur(di){var Ni,Mi,ji;return((Ni=le.value)==null?void 0:Ni.isFocusInsideContent(di))||((ji=(Mi=de.value)==null?void 0:Mi[0])==null?void 0:ji.isFocusInsideContent(di))},afterBlur(){var di;Ce.value=!1,i.validateEvent&&((di=j==null?void 0:j.validate)==null||di.call(j,"blur").catch(Ni=>void 0))}}),pi=computed$1(()=>!i.clearable||ie.value||Ie.value||!xe.value&&!ui.value?!1:!!ti.value.length),ri=computed$1(()=>{const{showAllLevels:di,separator:Ni}=i,Mi=ti.value;return Mi.length?Dt.value?"":Mi[0].calcText(di,Ni):""}),oi=computed$1(()=>(j==null?void 0:j.validateState)||""),bi=computed$1({get(){return cloneDeep(i.modelValue)},set(di){const Ni=di!=null?di:oe.value;t(UPDATE_MODEL_EVENT,Ni),t(CHANGE_EVENT,Ni),i.validateEvent&&(j==null||j.validate("change").catch(Mi=>void 0))}}),Ti=computed$1(()=>[L.b(),L.m(kt.value),L.is("disabled",ie.value),g.class]),Si=computed$1(()=>[z.e("icon"),"icon-arrow-down",L.is("reverse",Ce.value)]),ni=computed$1(()=>L.is("focus",ui.value)),fi=computed$1(()=>{var di,Ni;return(Ni=(di=le.value)==null?void 0:di.popperRef)==null?void 0:Ni.contentRef}),si=di=>{if(ui.value){const Ni=new FocusEvent("blur",di);mi(Ni)}_i(!1)},_i=di=>{var Ni,Mi,ji;ie.value||(di=di!=null?di:!Ce.value,di!==Ce.value&&(Ce.value=di,(Mi=(Ni=ue.value)==null?void 0:Ni.input)==null||Mi.setAttribute("aria-expanded","".concat(di)),di?(Pt(),nextTick((ji=pe.value)==null?void 0:ji.scrollToExpandingNode)):i.filterable&&Sn(),t("visibleChange",di)))},Pt=()=>{nextTick(()=>{var di;(di=le.value)==null||di.updatePopper()})},Lt=()=>{Ie.value=!1},At=di=>{const{showAllLevels:Ni,separator:Mi}=i;return{node:di,key:di.uid,text:di.calcText(Ni,Mi),hitState:!1,closable:!ie.value&&!di.isDisabled,isCollapseTag:!1}},ii=di=>{var Ni;const Mi=di.node;Mi.doCheck(!1),(Ni=pe.value)==null||Ni.calculateCheckedValue(),t("removeTag",Mi.valueByOption)},gi=()=>{switch(i.showCheckedStrategy){case"child":return ti.value;case"parent":{const di=Ai(!1),Ni=di.map(ji=>ji.value);return di.filter(ji=>!ji.parent||!Ni.includes(ji.parent.value))}default:return[]}},yi=()=>{if(!Dt.value)return;const di=gi(),Ni=[],Mi=[];if(di.forEach(ji=>Mi.push(At(ji))),Fe.value=Mi,di.length){di.slice(0,i.maxCollapseTags).forEach(kn=>Ni.push(At(kn)));const ji=di.slice(i.maxCollapseTags),hn=ji.length;hn&&(i.collapseTags?Ni.push({key:-1,text:"+ ".concat(hn),closable:!1,isCollapseTag:!0}):ji.forEach(kn=>Ni.push(At(kn))))}Oe.value=Ni},Li=()=>{var di,Ni;const{filterMethod:Mi,showAllLevels:ji,separator:hn}=i,kn=(Ni=(di=pe.value)==null?void 0:di.getFlattedNodes(!i.props.checkStrictly))==null?void 0:Ni.filter(xn=>xn.isDisabled?!1:(xn.calcText(ji,hn),Mi(xn,ei.value)));Dt.value&&(Oe.value.forEach(xn=>{xn.hitState=!1}),Fe.value.forEach(xn=>{xn.hitState=!1})),Ie.value=!0,Et.value=kn,Pt()},Pi=()=>{var di;let Ni;Ie.value&&_e.value?Ni=_e.value.$el.querySelector(".".concat(L.e("suggestion-item"))):Ni=(di=pe.value)==null?void 0:di.$el.querySelector(".".concat(L.b("node"),'[tabindex="-1"]')),Ni&&(Ni.focus(),!Ie.value&&Ni.click())},xi=()=>{var di,Ni;const Mi=(di=ue.value)==null?void 0:di.input,ji=he.value,hn=(Ni=_e.value)==null?void 0:Ni.$el;if(!(!isClient||!Mi)){if(hn){const kn=hn.querySelector(".".concat(L.e("suggestion-list")));kn.style.minWidth="".concat(Mi.offsetWidth,"px")}if(ji){const{offsetHeight:kn}=ji,xn=Oe.value.length>0?"".concat(Math.max(kn,y)-2,"px"):"".concat(y,"px");Mi.style.height=xn,Pt()}}},Ai=di=>{var Ni;return(Ni=pe.value)==null?void 0:Ni.getCheckedNodes(di)},Vi=di=>{Pt(),t("expandChange",di)},Hi=di=>{if(!re.value)switch(di.code){case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:_i();break;case EVENT_CODE.down:_i(!0),nextTick(Pi),di.preventDefault();break;case EVENT_CODE.esc:Ce.value===!0&&(di.preventDefault(),di.stopPropagation(),_i(!1));break;case EVENT_CODE.tab:_i(!1);break}},qi=()=>{var di;(di=pe.value)==null||di.clearCheckedNodes(),!Ce.value&&i.filterable&&Sn(),_i(!1),t("clear")},Sn=()=>{const{value:di}=ri;Ne.value=di,$e.value=di},wn=di=>{var Ni,Mi;const{checked:ji}=di;Dt.value?(Ni=pe.value)==null||Ni.handleCheckChange(di,!ji,!1):(!ji&&((Mi=pe.value)==null||Mi.handleCheckChange(di,!0,!1)),_i(!1))},zi=di=>{const Ni=di.target,{code:Mi}=di;switch(Mi){case EVENT_CODE.up:case EVENT_CODE.down:{di.preventDefault();const ji=Mi===EVENT_CODE.up?-1:1;focusNode(getSibling(Ni,ji,".".concat(L.e("suggestion-item"),'[tabindex="-1"]')));break}case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:Ni.click();break}},Yi=()=>{const di=Oe.value,Ni=di[di.length-1];k=$e.value?0:k+1,!(!Ni||!k||i.collapseTags&&di.length>1)&&(Ni.hitState?ii(Ni):Ni.hitState=!0)},Xi=debounce(()=>{const{value:di}=ei;if(!di)return;const Ni=i.beforeFilter(di);isPromise(Ni)?Ni.then(Li).catch(()=>{}):Ni!==!1?Li():Lt()},i.debounce),Ei=(di,Ni)=>{!Ce.value&&_i(!0),!(Ni!=null&&Ni.isComposing)&&(di?Xi():Lt())},Bi=di=>Number.parseFloat(useCssVar(z.cssVarName("input-height"),di).value)-2;return watch(Ie,Pt),watch([ti,ie,()=>i.collapseTags],yi),watch(Oe,()=>{nextTick(()=>xi())}),watch(kt,async()=>{await nextTick();const di=ue.value.input;y=Bi(di)||y,xi()}),watch(ri,Sn,{immediate:!0}),onMounted(()=>{const di=ue.value.input,Ni=Bi(di);y=di.offsetHeight||Ni,useResizeObserver(di,xi)}),e({getCheckedNodes:Ai,cascaderPanelRef:pe,togglePopperVisible:_i,contentRef:fi,presentText:ri}),(di,Ni)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"tooltipRef",ref:le,visible:Ce.value,teleported:di.teleported,"popper-class":[unref(L).e("dropdown"),di.popperClass],"popper-style":di.popperStyle,"popper-options":r,"fallback-placements":di.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:di.placement,transition:"".concat(unref(L).namespace.value,"-zoom-in-top"),effect:di.effect,pure:"",persistent:di.persistent,onHide:Lt},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock("div",{ref_key:"wrapperRef",ref:hi,class:normalizeClass(unref(Ti)),style:normalizeStyle(unref(ze)),onClick:()=>_i(unref(jt)?void 0:!0),onKeydown:Hi,onMouseenter:Mi=>xe.value=!0,onMouseleave:Mi=>xe.value=!1},[createVNode(unref(ElInput),{ref_key:"inputRef",ref:ue,modelValue:Ne.value,"onUpdate:modelValue":Mi=>Ne.value=Mi,placeholder:unref(Ve),readonly:unref(jt),disabled:unref(ie),"validate-event":!1,size:unref(kt),class:normalizeClass(unref(ni)),tabindex:unref(Dt)&&di.filterable&&!unref(ie)?-1:void 0,onCompositionstart:unref(ae),onCompositionupdate:unref(ae),onCompositionend:unref(ae),onInput:Ei},createSlots({suffix:withCtx(()=>[unref(pi)?(openBlock(),createBlock(unref(ElIcon),{key:"clear",class:normalizeClass([unref(z).e("icon"),"icon-circle-close"]),onClick:withModifiers(qi,["stop"])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(di.clearIcon)))]),_:1},8,["class","onClick"])):(openBlock(),createBlock(unref(ElIcon),{key:"arrow-down",class:normalizeClass(unref(Si)),onClick:withModifiers(Mi=>_i(),["stop"])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class","onClick"]))]),_:2},[di.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(di.$slots,"prefix")])}:void 0]),1032,["modelValue","onUpdate:modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),unref(Dt)?(openBlock(),createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:he,class:normalizeClass([unref(L).e("tags"),unref(L).is("validate",!!unref(oi))])},[renderSlot(di.$slots,"tag",{data:Fe.value,deleteTag:ii},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Oe.value,Mi=>(openBlock(),createBlock(unref(ElTag),{key:Mi.key,type:di.tagType,size:unref(Ue),effect:di.tagEffect,hit:Mi.hitState,closable:Mi.closable,"disable-transitions":"",onClose:ji=>ii(Mi)},{default:withCtx(()=>[Mi.isCollapseTag===!1?(openBlock(),createElementBlock("span",{key:0},toDisplayString(Mi.text),1)):(openBlock(),createBlock(unref(ElTooltip),{key:1,ref_for:!0,ref_key:"tagTooltipRef",ref:de,disabled:Ce.value||!di.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":di.popperClass,"popper-style":di.popperStyle,effect:di.effect},{default:withCtx(()=>[createBaseVNode("span",null,toDisplayString(Mi.text),1)]),content:withCtx(()=>[createVNode(unref(ElScrollbar),{"max-height":di.maxCollapseTagsTooltipHeight},{default:withCtx(()=>[createBaseVNode("div",{class:normalizeClass(unref(L).e("collapse-tags"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Fe.value.slice(di.maxCollapseTags),(ji,hn)=>(openBlock(),createElementBlock("div",{key:hn,class:normalizeClass(unref(L).e("collapse-tag"))},[(openBlock(),createBlock(unref(ElTag),{key:ji.key,class:"in-tooltip",type:di.tagType,size:unref(Ue),effect:di.tagEffect,hit:ji.hitState,closable:ji.closable,"disable-transitions":"",onClose:kn=>ii(ji)},{default:withCtx(()=>[createBaseVNode("span",null,toDisplayString(ji.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:2},1032,["disabled","popper-class","popper-style","effect"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),di.filterable&&!unref(ie)?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":Mi=>$e.value=Mi,type:"text",class:normalizeClass(unref(L).e("search-input")),placeholder:unref(ri)?"":unref(qe),onInput:Mi=>Ei($e.value,Mi),onClick:withModifiers(Mi=>_i(!0),["stop"]),onKeydown:withKeys(Yi,["delete"]),onCompositionstart:unref(ae),onCompositionupdate:unref(ae),onCompositionend:unref(ae)},null,42,["onUpdate:modelValue","placeholder","onInput","onClick","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend"])),[[vModelText,$e.value]]):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],46,["onClick","onMouseenter","onMouseleave"])),[[unref(ClickOutside),si,unref(fi)]])]),content:withCtx(()=>[di.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(L).e("header")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(di.$slots,"header")],10,["onClick"])):createCommentVNode("v-if",!0),withDirectives(createVNode(unref(ElCascaderPanel),{ref_key:"cascaderPanelRef",ref:pe,modelValue:unref(bi),"onUpdate:modelValue":Mi=>isRef(bi)?bi.value=Mi:null,options:di.options,props:i.props,border:!1,"render-label":di.$slots.default,onExpandChange:Vi,onClose:Mi=>di.$nextTick(()=>_i(!1))},{empty:withCtx(()=>[renderSlot(di.$slots,"empty")]),_:3},8,["modelValue","onUpdate:modelValue","options","props","render-label","onClose"]),[[vShow,!Ie.value]]),di.filterable?withDirectives((openBlock(),createBlock(unref(ElScrollbar),{key:1,ref_key:"suggestionPanel",ref:_e,tag:"ul",class:normalizeClass(unref(L).e("suggestion-panel")),"view-class":unref(L).e("suggestion-list"),onKeydown:zi},{default:withCtx(()=>[Et.value.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(Et.value,Mi=>(openBlock(),createElementBlock("li",{key:Mi.uid,class:normalizeClass([unref(L).e("suggestion-item"),unref(L).is("checked",Mi.checked)]),tabindex:-1,onClick:ji=>wn(Mi)},[renderSlot(di.$slots,"suggestion-item",{item:Mi},()=>[createBaseVNode("span",null,toDisplayString(Mi.text),1),Mi.checked?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1})):createCommentVNode("v-if",!0)])],10,["onClick"]))),128)):renderSlot(di.$slots,"empty",{key:1},()=>[createBaseVNode("li",{class:normalizeClass(unref(L).e("empty-text"))},toDisplayString(unref(V)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[vShow,Ie.value]]):createCommentVNode("v-if",!0),di.$slots.footer?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(unref(L).e("footer")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(di.$slots,"footer")],10,["onClick"])):createCommentVNode("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}});var Cascader=_export_sfc$1(_sfc_main$1f,[["__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__$E=defineComponent({name:"ElCol"}),_sfc_main$1e=defineComponent({...__default__$E,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(z=>{const V=e[z];isNumber(V)&&(z==="span"?y.push(i.b("".concat(e[z]))):V>0&&y.push(i.b("".concat(z,"-").concat(e[z]))))}),["xs","sm","md","lg","xl"].forEach(z=>{isNumber(e[z])?y.push(i.b("".concat(z,"-").concat(e[z]))):isObject(e[z])&&Object.entries(e[z]).forEach(([V,j])=>{y.push(V!=="span"?i.b("".concat(z,"-").concat(V,"-").concat(j)):i.b("".concat(z,"-").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$1(_sfc_main$1e,[["__file","col.vue"]]);const ElCol=withInstall(Col),emitChangeFn=n=>isNumber(n)||isString$1(n)||isArray$1(n),collapseProps=buildProps({accordion:Boolean,modelValue:{type:definePropType([Array,String,Number]),default:()=>mutable([])},expandIconPosition:{type:definePropType([String]),default:"right"},beforeCollapse:{type:definePropType(Function)}}),collapseEmits={[UPDATE_MODEL_EVENT]:emitChangeFn,[CHANGE_EVENT]:emitChangeFn},collapseContextKey=Symbol("collapseContextKey"),SCOPE$2="ElCollapse",useCollapse=(n,e)=>{const t=ref$1(castArray$1(n.modelValue)),i=y=>{t.value=y;const k=n.accordion?t.value[0]:t.value;e(UPDATE_MODEL_EVENT,k),e(CHANGE_EVENT,k)},r=y=>{if(n.accordion)i([t.value[0]===y?"":y]);else{const k=[...t.value],L=k.indexOf(y);L>-1?k.splice(L,1):k.push(y),i(k)}},g=async y=>{const{beforeCollapse:k}=n;if(!k){r(y);return}const L=k(y);[isPromise(L),isBoolean(L)].includes(!0)||throwError(SCOPE$2,"beforeCollapse must return type `Promise` or `boolean`"),isPromise(L)?L.then(V=>{V!==!1&&r(y)}).catch(V=>{}):L&&r(y)};return watch(()=>n.modelValue,()=>t.value=castArray$1(n.modelValue),{deep:!0}),provide(collapseContextKey,{activeNames:t,handleItemClick:g}),{activeNames:t,setActiveNames:i}},useCollapseDOM=n=>{const e=useNamespace("collapse");return{rootKls:computed$1(()=>[e.b(),e.b("icon-position-".concat(n.expandIconPosition))])}},__default__$D=defineComponent({name:"ElCollapse"}),_sfc_main$1d=defineComponent({...__default__$D,props:collapseProps,emits:collapseEmits,setup(n,{expose:e,emit:t}){const i=n,{activeNames:r,setActiveNames:g}=useCollapse(i,t),{rootKls:y}=useCollapseDOM(i);return e({activeNames:r,setActiveNames:g}),(k,L)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(y))},[renderSlot(k.$slots,"default")],2))}});var Collapse=_export_sfc$1(_sfc_main$1d,[["__file","collapse.vue"]]);const __default__$C=defineComponent({name:"ElCollapseTransition"}),_sfc_main$1c=defineComponent({...__default__$C,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$1(_sfc_main$1c,[["__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:ie=>{if(n.disabled)return;const oe=ie.target;oe!=null&&oe.closest("input, textarea, select")||(e==null||e.handleItemClick(unref(k)),i.value=!1,r.value=!0)},handleEnterClick:ie=>{const oe=ie.target;oe!=null&&oe.closest("input, textarea, select")||(ie.preventDefault(),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","title")]),z=computed$1(()=>r.be("item","wrap")),V=computed$1(()=>r.be("item","content")),j=computed$1(()=>r.b("content-".concat(unref(i)))),ie=computed$1(()=>r.b("head-".concat(unref(i))));return{itemTitleKls:L,arrowKls:k,headKls:y,rootKls:g,itemWrapperKls:z,itemContentKls:V,scopedContentId:j,scopedHeadId:ie}},__default__$B=defineComponent({name:"ElCollapseItem"}),_sfc_main$1b=defineComponent({...__default__$B,props:collapseItemProps,setup(n,{expose:e}){const t=n,{focusing:i,id:r,isActive:g,handleFocus:y,handleHeaderClick:k,handleEnterClick:L}=useCollapseItem(t),{arrowKls:z,headKls:V,rootKls:j,itemTitleKls:ie,itemWrapperKls:oe,itemContentKls:re,scopedContentId:ae,scopedHeadId:le}=useCollapseItemDOM(t,{focusing:i,isActive:g,id:r});return e({isActive:g}),(de,ue)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(j))},[createBaseVNode("div",{id:unref(le),class:normalizeClass(unref(V)),"aria-expanded":unref(g),"aria-controls":unref(ae),"aria-describedby":unref(ae),tabindex:de.disabled?-1:0,role:"button",onClick:unref(k),onKeydown:withKeys(withModifiers(unref(L),["stop"]),["space","enter"]),onFocus:unref(y),onBlur:he=>i.value=!1},[createBaseVNode("span",{class:normalizeClass(unref(ie))},[renderSlot(de.$slots,"title",{isActive:unref(g)},()=>[createTextVNode(toDisplayString(de.title),1)])],2),renderSlot(de.$slots,"icon",{isActive:unref(g)},()=>[createVNode(unref(ElIcon),{class:normalizeClass(unref(z))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(de.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(ae),role:"region",class:normalizeClass(unref(oe)),"aria-hidden":!unref(g),"aria-labelledby":unref(le)},[createBaseVNode("div",{class:normalizeClass(unref(re))},[renderSlot(de.$slots,"default")],2)],10,["id","aria-hidden","aria-labelledby"]),[[vShow,unref(g)]])]),_:3})],2))}});var CollapseItem=_export_sfc$1(_sfc_main$1b,[["__file","collapse-item.vue"]]);const ElCollapse=withInstall(Collapse,{CollapseItem}),ElCollapseItem=withNoopInstall(CollapseItem),alphaSliderProps=buildProps({color:{type:definePropType(Object),required:!0},vertical:Boolean,disabled:Boolean});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;if(n.disabled)return;j.target!==i.value&&L(j),(ie=i.value)==null||ie.focus()}function L(j){if(!r.value||!i.value||n.disabled)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 z(j){if(n.disabled)return;const{code:ie,shiftKey:oe}=j,re=oe?10:1;switch(ie){case EVENT_CODE.left:case EVENT_CODE.down:j.preventDefault(),j.stopPropagation(),V(-re);break;case EVENT_CODE.right:case EVENT_CODE.up:j.preventDefault(),j.stopPropagation(),V(re);break}}function V(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:z}},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 z(){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 V(){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=z(),k.value=V(),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),g.is("disabled",n.disabled)]),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$a="ElColorAlphaSlider",__default__$A=defineComponent({name:COMPONENT_NAME$a}),_sfc_main$1a=defineComponent({...__default__$A,props:alphaSliderProps,setup(n,{expose:e}){const t=n,{alpha:i,alphaLabel:r,bar:g,thumb:y,handleDrag:k,handleClick:L,handleKeydown:z}=useAlphaSlider(t),{rootKls:V,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(V))},[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(z)},null,46,["aria-label","aria-valuenow","aria-orientation","onKeydown"])],2))}});var AlphaSlider=_export_sfc$1(_sfc_main$1a,[["__file","alpha-slider.vue"]]);const _sfc_main$19=defineComponent({name:"ElColorHueSlider",props:{color:{type:Object,required:!0},vertical:Boolean,disabled: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){if(n.disabled)return;oe.target!==i.value&&z(oe)}function z(oe){if(!r.value||!i.value||n.disabled)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 V(){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=V(),y.value=j()}return onMounted(()=>{if(!r.value||!i.value||n.disabled)return;const oe={drag:re=>{z(re)},end:re=>{z(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$1(_sfc_main$19,[["render",_sfc_render$m],["__file","hue-slider.vue"]]);const colorPickerPanelProps=buildProps({modelValue:{type:definePropType(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:String,disabled:Boolean,predefine:{type:definePropType(Array)}}),colorPickerPanelEmits={[UPDATE_MODEL_EVENT]:n=>isString$1(n)||isNil(n)},ROOT_COMMON_COLOR_INJECTION_KEY=Symbol("colorCommonPickerKey"),colorPickerPanelContextKey=Symbol("colorPickerPanelContextKey");class Color{constructor(e={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new TinyColor,this._isValid=!1,this.enableAlpha=!1,this.format="",this.value="";for(const t in e)hasOwn(e,t)&&(this[t]=e[t]);e.value?this.fromString(e.value):this.doOnChange()}set(e,t){if(arguments.length===1&&typeof e=="object"){for(const i in e)hasOwn(e,i)&&this.set(i,e[i]);return}this["_".concat(e)]=t,this._isValid=!0,this.doOnChange()}get(e){return["hue","saturation","value","alpha"].includes(e)?Math.round(this["_".concat(e)]):this["_".concat(e)]}toRgb(){return this._isValid?this._tiny.toRgb():{r:255,g:255,b:255,a:0}}fromString(e){const t=new TinyColor(e);if(this._isValid=t.isValid,t.isValid){const{h:i,s:r,v:g,a:y}=t.toHsv();this._hue=i,this._saturation=r*100,this._value=g*100,this._alpha=y*100}else this._hue=0,this._saturation=100,this._value=100,this._alpha=100;this.doOnChange()}compare(e){const t=new TinyColor({h:e._hue,s:e._saturation/100,v:e._value/100,a:e._alpha/100});return this._tiny.equals(t)}doOnChange(){const{_hue:e,_saturation:t,_value:i,_alpha:r,format:g,enableAlpha:y}=this;let k=g||(y?"rgb":"hex");g==="hex"&&y&&(k="hex8"),this._tiny=new TinyColor({h:e,s:t/100,v:i/100,a:r/100}),this.value=this._isValid?this._tiny.toString(k):""}}const _sfc_main$18=defineComponent({props:{colors:{type:Array,required:!0},color:{type:Object,required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean},setup(n){const e=useNamespace("color-predefine"),{currentColor:t}=inject(colorPickerPanelContextKey),i=ref$1(g(n.colors,n.color));watch(()=>t.value,y=>{const k=new Color({value:y});i.value.forEach(L=>{L.selected=k.compare(L)})}),watchEffect(()=>{i.value=g(n.colors,n.color)});function r(y){n.disabled||n.color.fromString(n.colors[y])}function g(y,k){return y.map(L=>{const z=new Color({value:L});return z.selected=z.compare(k),z})}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.get("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$1(_sfc_main$18,[["render",_sfc_render$l],["__file","predefine.vue"]]);const _sfc_main$17=defineComponent({name:"ElSlPanel",props:{color:{type:Object,required:!0},disabled:Boolean},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 z=n.color.get("hue"),V=n.color.get("value");return{hue:z,value:V}});function k(){const z=n.color.get("saturation"),V=n.color.get("value"),j=t.vnode.el,{clientWidth:ie,clientHeight:oe}=j;r.value=z*ie/100,i.value=(100-V)*oe/100,g.value="hsl(".concat(n.color.get("hue"),", 100%, 50%)")}function L(z){if(n.disabled)return;const j=t.vnode.el.getBoundingClientRect(),{clientX:ie,clientY:oe}=getClientXY(z);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:z=>{L(z)},end:z=>{L(z)}}),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$1(_sfc_main$17,[["render",_sfc_render$k],["__file","sv-panel.vue"]]);const useCommonColor=(n,e)=>{const t=reactive$1(new Color({enableAlpha:n.showAlpha,format:n.colorFormat||"",value:n.modelValue}));return watch(()=>[n.colorFormat,n.showAlpha],()=>{t.enableAlpha=n.showAlpha,t.format=n.colorFormat||t.format,t.doOnChange(),e(UPDATE_MODEL_EVENT,t.value)}),{color:t}},__default__$z=defineComponent({name:"ElColorPickerPanel"}),_sfc_main$16=defineComponent({...__default__$z,props:colorPickerPanelProps,emits:colorPickerPanelEmits,setup(n,{expose:e,emit:t}){const i=n,r=useNamespace("color-picker-panel"),g=useFormDisabled(),y=ref$1(),k=ref$1(),L=ref$1(),z=ref$1(),V=ref$1(""),{color:j}=inject(ROOT_COMMON_COLOR_INJECTION_KEY,()=>useCommonColor(i,t),!0);function ie(){j.fromString(V.value),j.value!==V.value&&(V.value=j.value)}return onMounted(()=>{i.modelValue&&(V.value=j.value),nextTick(()=>{var oe,re,ae;(oe=y.value)==null||oe.update(),(re=k.value)==null||re.update(),(ae=L.value)==null||ae.update()})}),watch(()=>i.modelValue,oe=>{oe&&oe!==j.value&&j.fromString(oe)}),watch(()=>j.value,oe=>{t(UPDATE_MODEL_EVENT,oe),V.value=oe}),provide(colorPickerPanelContextKey,{currentColor:computed$1(()=>j.value)}),e({color:j,inputRef:z}),(oe,re)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(r).b(),unref(r).is("disabled",unref(g)),unref(r).is("border",oe.border)])},[createBaseVNode("div",{class:normalizeClass(unref(r).e("wrapper"))},[createVNode(HueSlider,{ref_key:"hue",ref:y,class:"hue-slider",color:unref(j),vertical:"",disabled:unref(g)},null,8,["color","disabled"]),createVNode(SvPanel,{ref_key:"sv",ref:k,color:unref(j),disabled:unref(g)},null,8,["color","disabled"])],2),oe.showAlpha?(openBlock(),createBlock(AlphaSlider,{key:0,ref_key:"alpha",ref:L,color:unref(j),disabled:unref(g)},null,8,["color","disabled"])):createCommentVNode("v-if",!0),oe.predefine?(openBlock(),createBlock(Predefine,{key:1,ref:"predefine","enable-alpha":oe.showAlpha,color:unref(j),colors:oe.predefine,disabled:unref(g)},null,8,["enable-alpha","color","colors","disabled"])):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(r).e("footer"))},[createVNode(unref(ElInput),{ref_key:"inputRef",ref:z,modelValue:V.value,"onUpdate:modelValue":ae=>V.value=ae,"validate-event":!1,size:"small",disabled:unref(g),onChange:ie},null,8,["modelValue","onUpdate:modelValue","disabled"]),renderSlot(oe.$slots,"footer")],2)],2))}});var ColorPickerPanel=_export_sfc$1(_sfc_main$16,[["__file","color-picker-panel.vue"]]);const ElColorPickerPanel=withInstall(ColorPickerPanel),colorPickerProps=buildProps({persistent:{type:Boolean,default:!0},modelValue:{type:definePropType(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:useSizeProp,popperClass:{type:String,default:""},tabindex:{type:[String,Number],default:0},teleported:useTooltipContentProps.teleported,appendTo:useTooltipContentProps.appendTo,predefine:{type:definePropType(Array)},validateEvent:{type:Boolean,default:!0},...useEmptyValuesProps,...useAriaProps(["ariaLabel"])}),colorPickerEmits={[UPDATE_MODEL_EVENT]:n=>isString$1(n)||isNil(n),[CHANGE_EVENT]:n=>isString$1(n)||isNil(n),activeChange:n=>isString$1(n)||isNil(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent},__default__$y=defineComponent({name:"ElColorPicker"}),_sfc_main$15=defineComponent({...__default__$y,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(),{valueOnClear:z,isEmptyValue:V}=useEmptyValues(i,null),j=useCommonColor(i,t),{inputId:ie,isLabeledByFormItem:oe}=useFormItemInputId(i,{formItemContext:y}),re=ref$1(),ae=ref$1(),le=ref$1(),de=ref$1(!1),ue=ref$1(!1);let he=!0;const{isFocused:pe,handleFocus:_e,handleBlur:Ce}=useFocusController(ae,{disabled:L,beforeBlur(oi){var bi;return(bi=re.value)==null?void 0:bi.isFocusInsideContent(oi)},afterBlur(){qe(!1),Dt()}}),xe=reactiveComputed(()=>{var oi,bi;return(bi=(oi=le.value)==null?void 0:oi.color)!=null?bi:j.color}),Ie=computed$1(()=>pick(i,Object.keys(colorPickerPanelProps))),Ne=computed$1(()=>!i.modelValue&&!ue.value?"transparent":ze(xe,i.showAlpha)),$e=computed$1(()=>!i.modelValue&&!ue.value?"":xe.value),Oe=computed$1(()=>oe.value?void 0:i.ariaLabel||r("el.colorpicker.defaultLabel")),Fe=computed$1(()=>oe.value?y==null?void 0:y.labelId:void 0),Et=computed$1(()=>[g.b("picker"),g.is("disabled",L.value),g.bm("picker",k.value),g.is("focused",pe.value)]);function ze(oi,bi){const{r:Ti,g:Si,b:ni,a:fi}=oi.toRgb();return bi?"rgba(".concat(Ti,", ").concat(Si,", ").concat(ni,", ").concat(fi,")"):"rgb(".concat(Ti,", ").concat(Si,", ").concat(ni,")")}function qe(oi){de.value=oi}const Ve=debounce(qe,100,{leading:!0});function kt(){L.value||qe(!0)}function Ue(){Ve(!1),Dt()}function Dt(){nextTick(()=>{i.modelValue?xe.fromString(i.modelValue):(xe.value="",nextTick(()=>{ue.value=!1}))})}function jt(){L.value||(de.value&&Dt(),Ve(!de.value))}function ei(){const oi=V(xe.value)?z.value:xe.value;t(UPDATE_MODEL_EVENT,oi),t(CHANGE_EVENT,oi),i.validateEvent&&(y==null||y.validate("change").catch(bi=>void 0)),Ve(!1),nextTick(()=>{const bi=new Color({enableAlpha:i.showAlpha,format:i.colorFormat||"",value:i.modelValue});xe.compare(bi)||Dt()})}function ti(){Ve(!1),t(UPDATE_MODEL_EVENT,z.value),t(CHANGE_EVENT,z.value),i.modelValue!==z.value&&i.validateEvent&&(y==null||y.validate("change").catch(oi=>void 0)),Dt()}function hi(){de.value&&(Ue(),pe.value&&pi())}function ui(oi){oi.preventDefault(),oi.stopPropagation(),qe(!1),Dt()}function mi(oi){var bi,Ti;switch(oi.code){case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:case EVENT_CODE.space:oi.preventDefault(),oi.stopPropagation(),kt(),(Ti=(bi=le==null?void 0:le.value)==null?void 0:bi.inputRef)==null||Ti.focus();break;case EVENT_CODE.esc:ui(oi);break}}function pi(){ae.value.focus()}function ri(){ae.value.blur()}return watch(()=>$e.value,oi=>{he&&t("activeChange",oi),he=!0}),watch(()=>xe.value,()=>{!i.modelValue&&!ue.value&&(ue.value=!0)}),watch(()=>i.modelValue,oi=>{oi?oi&&oi!==xe.value&&(he=!1,xe.fromString(oi)):ue.value=!1}),provide(ROOT_COMMON_COLOR_INJECTION_KEY,j),e({color:xe,show:kt,hide:Ue,focus:pi,blur:ri}),(oi,bi)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"popper",ref:re,visible:de.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[unref(g).be("picker","panel"),oi.popperClass],"stop-popper-mouse-event":!1,pure:"",effect:"light",trigger:"click",teleported:oi.teleported,transition:"".concat(unref(g).namespace.value,"-zoom-in-top"),persistent:oi.persistent,"append-to":oi.appendTo,onHide:Ti=>qe(!1)},{content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(ElColorPickerPanel),mergeProps({ref_key:"pickerPanelRef",ref:le},unref(Ie),{border:!1,onKeydown:withKeys(ui,["esc"])}),{footer:withCtx(()=>[createBaseVNode("div",null,[createVNode(unref(ElButton),{class:normalizeClass(unref(g).be("footer","link-btn")),text:"",size:"small",onClick:ti},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(r)("el.colorpicker.clear")),1)]),_:1},8,["class"]),createVNode(unref(ElButton),{plain:"",size:"small",class:normalizeClass(unref(g).be("footer","btn")),onClick:ei},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(r)("el.colorpicker.confirm")),1)]),_:1},8,["class"])])]),_:1},16,["onKeydown"])),[[unref(ClickOutside),hi,ae.value]])]),default:withCtx(()=>[createBaseVNode("div",mergeProps({id:unref(ie),ref_key:"triggerRef",ref:ae},oi.$attrs,{class:unref(Et),role:"button","aria-label":unref(Oe),"aria-labelledby":unref(Fe),"aria-description":unref(r)("el.colorpicker.description",{color:oi.modelValue||""}),"aria-disabled":unref(L),tabindex:unref(L)?void 0:oi.tabindex,onKeydown:mi,onFocus:unref(_e),onBlur:unref(Ce)}),[createBaseVNode("div",{class:normalizeClass(unref(g).be("picker","trigger")),onClick:jt},[createBaseVNode("span",{class:normalizeClass([unref(g).be("picker","color"),unref(g).is("alpha",oi.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,oi.modelValue||ue.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,!oi.modelValue&&!ue.value]])],6)],2)],2)],16,["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex","onFocus","onBlur"])]),_:1},8,["visible","popper-class","teleported","transition","persistent","append-to","onHide"]))}});var ColorPicker=_export_sfc$1(_sfc_main$15,[["__file","color-picker.vue"]]);const ElColorPicker=withInstall(ColorPicker),messageConfig={placement:"top"};var customParseFormat$2={exports:{}},customParseFormat$1=customParseFormat$2.exports,hasRequiredCustomParseFormat;function requireCustomParseFormat(){return hasRequiredCustomParseFormat||(hasRequiredCustomParseFormat=1,function(n,e){(function(t,i){n.exports=i()})(customParseFormat$1,function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},i=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,g=/\d\d/,y=/\d\d?/,k=/\d*[^-_:/,()\s\d]+/,L={},z=function(le){return(le=+le)+(le>68?1900:2e3)},V=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,V("seconds")],ss:[y,V("seconds")],m:[y,V("minutes")],mm:[y,V("minutes")],H:[y,V("hours")],h:[y,V("hours")],HH:[y,V("hours")],hh:[y,V("hours")],D:[y,V("day")],DD:[g,V("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,V("week")],ww:[g,V("week")],M:[y,V("month")],MM:[g,V("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+/,V("year")],YY:[g,function(le){this.year=z(le)}],YYYY:[/\d{4}/,V("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($e,Oe,Fe){var Et=Fe&&Fe.toUpperCase();return Oe||ue[Fe]||t[Fe]||ue[Et].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(ze,qe,Ve){return qe||Ve.slice(1)})})).match(i),pe=he.length,_e=0;_e-1)return new Date((Ue==="X"?1e3:1)*kt);var ei=ae(Ue)(kt),ti=ei.year,hi=ei.month,ui=ei.day,mi=ei.hours,pi=ei.minutes,ri=ei.seconds,oi=ei.milliseconds,bi=ei.zone,Ti=ei.week,Si=new Date,ni=ui||(ti||hi?1:Si.getDate()),fi=ti||Si.getFullYear(),si=0;ti&&!hi||(si=hi>0?hi-1:Si.getMonth());var _i,Pt=mi||0,Lt=pi||0,At=ri||0,ii=oi||0;return bi?new Date(Date.UTC(fi,si,ni,Pt,Lt,At,ii+60*bi.offset*1e3)):Dt?new Date(Date.UTC(fi,si,ni,Pt,Lt,At,ii)):(_i=new Date(fi,si,ni,Pt,Lt,At,ii),Ti&&(_i=jt(_i).week(Ti).toDate()),_i)}catch(gi){return new Date("")}}(Ce,Ne,xe,ue),this.init(),Et&&Et!==!0&&(this.$L=this.locale(Et).$L),Fe&&Ce!=this.format(Ne)&&(this.$d=new Date("")),L={}}else if(Ne instanceof Array)for(var ze=Ne.length,qe=1;qe<=ze;qe+=1){Ie[1]=Ne[qe-1];var Ve=ue.apply(this,Ie);if(Ve.isValid()){this.$d=Ve.$d,this.$L=Ve.$L,this.init();break}qe===ze&&(this.$d=new Date(""))}else pe.call(this,_e)}}})}(customParseFormat$2)),customParseFormat$2.exports}var customParseFormatExports=requireCustomParseFormat();const customParseFormat=getDefaultExportFromCjs(customParseFormatExports),timeUnits=["hours","minutes","seconds"],PICKER_BASE_INJECTION_KEY="EP_PICKER_BASE",PICKER_POPPER_OPTIONS_INJECTION_KEY="ElPopperOptions",ROOT_COMMON_PICKER_INJECTION_KEY=Symbol("commonPickerContextKey"),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)},useCommonPicker=(n,e)=>{const{lang:t}=useLocale(),i=ref$1(!1),r=ref$1(!1),g=ref$1(null),y=computed$1(()=>{const{modelValue:re}=n;return!re||isArray$1(re)&&!re.filter(Boolean).length}),k=re=>{if(!valueEquals(n.modelValue,re)){let ae;isArray$1(re)?ae=re.map(de=>formatter(de,n.valueFormat,t.value)):re&&(ae=formatter(re,n.valueFormat,t.value)),e(UPDATE_MODEL_EVENT,re&&ae,t.value)}},L=computed$1(()=>{var re;let ae;if(y.value?z.value.getDefaultValue&&(ae=z.value.getDefaultValue()):isArray$1(n.modelValue)?ae=n.modelValue.map(le=>parseDate(le,n.valueFormat,t.value)):ae=parseDate((re=n.modelValue)!=null?re:"",n.valueFormat,t.value),z.value.getRangeAvailableTime){const le=z.value.getRangeAvailableTime(ae);isEqual(le,ae)||(ae=le,y.value||k(dayOrDaysToDate(ae)))}return isArray$1(ae)&&ae.some(le=>!le)&&(ae=[]),ae}),z=ref$1({});return{parsedValue:L,pickerActualVisible:r,pickerOptions:z,pickerVisible:i,userInput:g,valueIsEmpty:y,emitInput:k,onCalendarChange:re=>{e("calendar-change",re)},onPanelChange:(re,ae,le)=>{e("panel-change",re,ae,le)},onPick:(re="",ae=!1)=>{i.value=ae;let le;isArray$1(re)?le=re.map(de=>de.toDate()):le=re&&re.toDate(),g.value=null,k(le)},onSetPickerOption:re=>{z.value[re[0]]=re[1],z.value.panelReady=!0}}},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:useTooltipContentProps.popperClass,popperStyle:useTooltipContentProps.popperStyle,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},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),timePickerRangeTriggerProps=buildProps({id:{type:definePropType(Array)},name:{type:definePropType(Array)},modelValue:{type:definePropType([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),__default__$x=defineComponent({name:"PickerRangeTrigger",inheritAttrs:!1}),_sfc_main$14=defineComponent({...__default__$x,props:timePickerRangeTriggerProps,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(n,{expose:e,emit:t}){const i=n,r=useAttrs(),g=useNamespace("date"),y=useNamespace("range"),k=ref$1(),L=ref$1(),{wrapperRef:z,isFocused:V}=useFocusController(k,{disabled:computed$1(()=>i.disabled)}),j=_e=>{t("click",_e)},ie=_e=>{t("mouseenter",_e)},oe=_e=>{t("mouseleave",_e)},re=_e=>{t("touchstart",_e)},ae=_e=>{t("startInput",_e)},le=_e=>{t("endInput",_e)},de=_e=>{t("startChange",_e)},ue=_e=>{t("endChange",_e)};return e({focus:()=>{var _e;(_e=k.value)==null||_e.focus()},blur:()=>{var _e,Ce;(_e=k.value)==null||_e.blur(),(Ce=L.value)==null||Ce.blur()}}),(_e,Ce)=>(openBlock(),createElementBlock("div",{ref_key:"wrapperRef",ref:z,class:normalizeClass([unref(g).is("active",unref(V)),_e.$attrs.class]),style:normalizeStyle(_e.$attrs.style),onClick:j,onMouseenter:ie,onMouseleave:oe,onTouchstartPassive:re},[renderSlot(_e.$slots,"prefix"),createBaseVNode("input",mergeProps(unref(r),{id:_e.id&&_e.id[0],ref_key:"inputRef",ref:k,name:_e.name&&_e.name[0],placeholder:_e.startPlaceholder,value:_e.modelValue&&_e.modelValue[0],class:unref(y).b("input"),disabled:_e.disabled,onInput:ae,onChange:de}),null,16,["id","name","placeholder","value","disabled"]),renderSlot(_e.$slots,"range-separator"),createBaseVNode("input",mergeProps(unref(r),{id:_e.id&&_e.id[1],ref_key:"endInputRef",ref:L,name:_e.name&&_e.name[1],placeholder:_e.endPlaceholder,value:_e.modelValue&&_e.modelValue[1],class:unref(y).b("input"),disabled:_e.disabled,onInput:le,onChange:ue}),null,16,["id","name","placeholder","value","disabled"]),renderSlot(_e.$slots,"suffix")],38))}});var PickerRangeTrigger=_export_sfc$1(_sfc_main$14,[["__file","picker-range-trigger.vue"]]);const __default__$w=defineComponent({name:"Picker"}),_sfc_main$13=defineComponent({...__default__$w,props:timePickerDefaultProps,emits:[UPDATE_MODEL_EVENT,CHANGE_EVENT,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(n,{expose:e,emit:t}){const i=n,r=useAttrs$1(),g=useNamespace("date"),y=useNamespace("input"),k=useNamespace("range"),{formItem:L}=useFormItem(),z=inject(PICKER_POPPER_OPTIONS_INJECTION_KEY,{}),{valueOnClear:V}=useEmptyValues(i,null),j=ref$1(),ie=ref$1(),oe=ref$1(null);let re=!1;const ae=useFormDisabled(),le=useCommonPicker(i,t),{parsedValue:de,pickerActualVisible:ue,userInput:he,pickerVisible:pe,pickerOptions:_e,valueIsEmpty:Ce,emitInput:xe,onPick:Ie,onSetPickerOption:Ne,onCalendarChange:$e,onPanelChange:Oe}=le,{isFocused:Fe,handleFocus:Et,handleBlur:ze}=useFocusController(ie,{disabled:ae,beforeFocus(){return i.readonly},afterFocus(){pe.value=!0},beforeBlur(di){var Ni;return!re&&((Ni=j.value)==null?void 0:Ni.isFocusInsideContent(di))},afterBlur(){xi(),pe.value=!1,re=!1,i.validateEvent&&(L==null||L.validate("blur").catch(di=>void 0))}}),qe=ref$1(!1),Ve=computed$1(()=>[g.b("editor"),g.bm("editor",i.type),y.e("wrapper"),g.is("disabled",ae.value),g.is("active",pe.value),k.b("editor"),yi?k.bm("editor",yi.value):"",r.class]),kt=computed$1(()=>[y.e("icon"),k.e("close-icon"),si.value?"":k.e("close-icon--hidden")]);watch(pe,di=>{di?nextTick(()=>{di&&(oe.value=i.modelValue)}):(he.value=null,nextTick(()=>{Ue(i.modelValue)}))});const Ue=(di,Ni)=>{(Ni||!valueEquals(di,oe.value))&&(t(CHANGE_EVENT,di),Ni&&(oe.value=di),i.validateEvent&&(L==null||L.validate("change").catch(Mi=>void 0)))},Dt=di=>{t("keydown",di)},jt=computed$1(()=>ie.value?Array.from(ie.value.$el.querySelectorAll("input")):[]),ei=(di,Ni,Mi)=>{const ji=jt.value;ji.length&&(!Mi||Mi==="min"?(ji[0].setSelectionRange(di,Ni),ji[0].focus()):Mi==="max"&&(ji[1].setSelectionRange(di,Ni),ji[1].focus()))},ti=()=>{ue.value=!0},hi=()=>{t("visible-change",!0)},ui=()=>{ue.value=!1,pe.value=!1,t("visible-change",!1)},mi=()=>{pe.value=!0},pi=()=>{pe.value=!1},ri=computed$1(()=>{if(!_e.value.panelReady)return"";const di=Vi(de.value);return isArray$1(he.value)?[he.value[0]||di&&di[0]||"",he.value[1]||di&&di[1]||""]:he.value!==null?he.value:!bi.value&&Ce.value||!pe.value&&Ce.value?"":di?Ti.value||Si.value||ni.value?di.join(", "):di:""}),oi=computed$1(()=>i.type.includes("time")),bi=computed$1(()=>i.type.startsWith("time")),Ti=computed$1(()=>i.type==="dates"),Si=computed$1(()=>i.type==="months"),ni=computed$1(()=>i.type==="years"),fi=computed$1(()=>i.prefixIcon||(oi.value?clock_default:calendar_default)),si=computed$1(()=>i.clearable&&!ae.value&&!i.readonly&&!Ce.value&&(qe.value||Fe.value)),_i=di=>{i.readonly||ae.value||(si.value&&(di.stopPropagation(),_e.value.handleClear?_e.value.handleClear():xe(V.value),Ue(V.value,!0),ui()),t("clear"))},Pt=async di=>{var Ni;i.readonly||ae.value||(((Ni=di.target)==null?void 0:Ni.tagName)!=="INPUT"||Fe.value)&&(pe.value=!0)},Lt=()=>{i.readonly||ae.value||!Ce.value&&i.clearable&&(qe.value=!0)},At=()=>{qe.value=!1},ii=di=>{var Ni;i.readonly||ae.value||(((Ni=di.touches[0].target)==null?void 0:Ni.tagName)!=="INPUT"||Fe.value)&&(pe.value=!0)},gi=computed$1(()=>i.type.includes("range")),yi=useFormSize(),Li=computed$1(()=>{var di,Ni;return(Ni=(di=unref(j))==null?void 0:di.popperRef)==null?void 0:Ni.contentRef}),Pi=onClickOutside(ie,di=>{const Ni=unref(Li),Mi=unrefElement(ie);Ni&&(di.target===Ni||di.composedPath().includes(Ni))||di.target===Mi||Mi&&di.composedPath().includes(Mi)||(pe.value=!1)});onBeforeUnmount(()=>{Pi==null||Pi()});const xi=()=>{if(he.value){const di=Ai(ri.value);di&&Hi(di)&&(xe(dayOrDaysToDate(di)),he.value=null)}he.value===""&&(xe(V.value),Ue(V.value,!0),he.value=null)},Ai=di=>di?_e.value.parseUserInput(di):null,Vi=di=>di?_e.value.formatToString(di):null,Hi=di=>_e.value.isValidValue(di),qi=async di=>{if(i.readonly||ae.value)return;const{code:Ni}=di;if(Dt(di),Ni===EVENT_CODE.esc){pe.value===!0&&(pe.value=!1,di.preventDefault(),di.stopPropagation());return}if(Ni===EVENT_CODE.down&&(_e.value.handleFocusPicker&&(di.preventDefault(),di.stopPropagation()),pe.value===!1&&(pe.value=!0,await nextTick()),_e.value.handleFocusPicker)){_e.value.handleFocusPicker();return}if(Ni===EVENT_CODE.tab){re=!0;return}if(Ni===EVENT_CODE.enter||Ni===EVENT_CODE.numpadEnter){(he.value===null||he.value===""||Hi(Ai(ri.value)))&&(xi(),pe.value=!1),di.stopPropagation();return}if(he.value){di.stopPropagation();return}_e.value.handleKeydownInput&&_e.value.handleKeydownInput(di)},Sn=di=>{he.value=di,pe.value||(pe.value=!0)},wn=di=>{const Ni=di.target;he.value?he.value=[Ni.value,he.value[1]]:he.value=[Ni.value,null]},zi=di=>{const Ni=di.target;he.value?he.value=[he.value[0],Ni.value]:he.value=[null,Ni.value]},Yi=()=>{var di;const Ni=he.value,Mi=Ai(Ni&&Ni[0]),ji=unref(de);if(Mi&&Mi.isValid()){he.value=[Vi(Mi),((di=ri.value)==null?void 0:di[1])||null];const hn=[Mi,ji&&(ji[1]||null)];Hi(hn)&&(xe(dayOrDaysToDate(hn)),he.value=null)}},Xi=()=>{var di;const Ni=unref(he),Mi=Ai(Ni&&Ni[1]),ji=unref(de);if(Mi&&Mi.isValid()){he.value=[((di=unref(ri))==null?void 0:di[0])||null,Vi(Mi)];const hn=[ji&&ji[0],Mi];Hi(hn)&&(xe(dayOrDaysToDate(hn)),he.value=null)}},Ei=()=>{var di;(di=ie.value)==null||di.focus()},Bi=()=>{var di;(di=ie.value)==null||di.blur()};return provide(PICKER_BASE_INJECTION_KEY,{props:i}),provide(ROOT_COMMON_PICKER_INJECTION_KEY,le),e({focus:Ei,blur:Bi,handleOpen:mi,handleClose:pi,onPick:Ie}),(di,Ni)=>(openBlock(),createBlock(unref(ElTooltip),mergeProps({ref_key:"refPopper",ref:j,visible:unref(pe),effect:"light",pure:"",trigger:"click"},di.$attrs,{role:"dialog",teleported:"",transition:"".concat(unref(g).namespace.value,"-zoom-in-top"),"popper-class":["".concat(unref(g).namespace.value,"-picker__popper"),di.popperClass],"popper-style":di.popperStyle,"popper-options":unref(z),"fallback-placements":di.fallbackPlacements,"gpu-acceleration":!1,placement:di.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:ti,onShow:hi,onHide:ui}),{default:withCtx(()=>[unref(gi)?(openBlock(),createBlock(PickerRangeTrigger,{key:1,id:di.id,ref_key:"inputRef",ref:ie,"model-value":unref(ri),name:di.name,disabled:unref(ae),readonly:!di.editable||di.readonly,"start-placeholder":di.startPlaceholder,"end-placeholder":di.endPlaceholder,class:normalizeClass(unref(Ve)),style:normalizeStyle(di.$attrs.style),"aria-label":di.ariaLabel,tabindex:di.tabindex,autocomplete:"off",role:"combobox",onClick:Pt,onFocus:unref(Et),onBlur:unref(ze),onStartInput:wn,onStartChange:Yi,onEndInput:zi,onEndChange:Xi,onMousedown:Pt,onMouseenter:Lt,onMouseleave:At,onTouchstartPassive:ii,onKeydown:qi},{prefix:withCtx(()=>[unref(fi)?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(y).e("icon"),unref(k).e("icon")])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(fi))))]),_:1},8,["class"])):createCommentVNode("v-if",!0)]),"range-separator":withCtx(()=>[renderSlot(di.$slots,"range-separator",{},()=>[createBaseVNode("span",{class:normalizeClass(unref(k).b("separator"))},toDisplayString(di.rangeSeparator),3)])]),suffix:withCtx(()=>[di.clearIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(kt)),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:_i},{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:ie,"container-role":"combobox","model-value":unref(ri),name:di.name,size:unref(yi),disabled:unref(ae),placeholder:di.placeholder,class:normalizeClass([unref(g).b("editor"),unref(g).bm("editor",di.type),unref(g).is("focus",unref(pe)),di.$attrs.class]),style:normalizeStyle(di.$attrs.style),readonly:!di.editable||di.readonly||unref(Ti)||unref(Si)||unref(ni)||di.type==="week","aria-label":di.ariaLabel,tabindex:di.tabindex,"validate-event":!1,onInput:Sn,onFocus:unref(Et),onBlur:unref(ze),onKeydown:qi,onChange:xi,onMousedown:Pt,onMouseenter:Lt,onMouseleave:At,onTouchstartPassive:ii,onClick:withModifiers(()=>{},["stop"])},{prefix:withCtx(()=>[unref(fi)?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(y).e("icon")),onMousedown:withModifiers(Pt,["prevent"]),onTouchstartPassive:ii},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(fi))))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),suffix:withCtx(()=>[unref(si)&&di.clearIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass("".concat(unref(y).e("icon")," clear-icon")),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:_i},{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:unref(pe),actualVisible:unref(ue),parsedValue:unref(de),format:di.format,dateFormat:di.dateFormat,timeFormat:di.timeFormat,unlinkPanels:di.unlinkPanels,type:di.type,defaultValue:di.defaultValue,showNow:di.showNow,showConfirm:di.showConfirm,showFooter:di.showFooter,showWeekNumber:di.showWeekNumber,onPick:unref(Ie),onSelectRange:ei,onSetPickerOption:unref(Ne),onCalendarChange:unref($e),onPanelChange:unref(Oe),onMousedown:withModifiers(()=>{},["stop"])})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}});var CommonPicker=_export_sfc$1(_sfc_main$13,[["__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,z)=>{const V={hour:n,minute:e,second:t};let j=y;return["hour","minute","second"].forEach(ie=>{if(V[ie]){let oe;const re=V[ie];switch(ie){case"minute":{oe=re(j.hour(),k,z);break}case"second":{oe=re(j.hour(),j.minute(),k,z);break}default:{oe=re(k,z);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,z)=>makeList(60,t&&(()=>t==null?void 0:t(y,k,L,z)))}),buildAvailableTimeSlotGetter=(n,e,t)=>{const{getHoursList:i,getMinutesList:r,getSecondsList:g}=getTimeLists(n,e,t);return{getAvailableHours:(z,V)=>makeAvailableArr(i(z,V)),getAvailableMinutes:(z,V,j)=>makeAvailableArr(r(z,V,j)),getAvailableSeconds:(z,V,j,ie)=>makeAvailableArr(g(z,V,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$1(t)?{}:t;let g,y;const k=()=>isFunction$1(t)?t():t.handler(),L=()=>{y&&(clearTimeout(y),y=void 0),g&&(clearInterval(g),g=void 0)};n.addEventListener("mousedown",z=>{z.button===0&&(L(),k(),document.addEventListener("mouseup",()=>L(),{once:!0}),y=setTimeout(()=>{g=setInterval(()=>{k()},i)},r))})}},_sfc_main$12=defineComponent({__name:"basic-time-spinner",props:basicTimeSpinnerProps,emits:[CHANGE_EVENT,"select-range","set-option"],setup(n,{emit:e}){const t=n,i=inject(PICKER_BASE_INJECTION_KEY),{isRange:r,format:g}=i.props,y=useNamespace("time"),{getHoursList:k,getMinutesList:L,getSecondsList:z}=getTimeLists(t.disabledHours,t.disabledMinutes,t.disabledSeconds);let V=!1;const j=ref$1(),ie=ref$1(),oe=ref$1(),re=ref$1(),ae={hours:ie,minutes:oe,seconds:re},le=computed$1(()=>t.showSeconds?timeUnits:timeUnits.slice(0,2)),de=computed$1(()=>{const{spinnerDate:ti}=t,hi=ti.hour(),ui=ti.minute(),mi=ti.second();return{hours:hi,minutes:ui,seconds:mi}}),ue=computed$1(()=>{const{hours:ti,minutes:hi}=unref(de),{role:ui,spinnerDate:mi}=t,pi=r?void 0:mi;return{hours:k(ui,pi),minutes:L(ti,ui,pi),seconds:z(ti,hi,ui,pi)}}),he=computed$1(()=>{const{hours:ti,minutes:hi,seconds:ui}=unref(de);return{hours:buildTimeList(ti,23),minutes:buildTimeList(hi,59),seconds:buildTimeList(ui,59)}}),pe=debounce(ti=>{V=!1,xe(ti)},200),_e=ti=>{if(!!!t.amPmMode)return"";const ui=t.amPmMode==="A";let mi=ti<12?" am":" pm";return ui&&(mi=mi.toUpperCase()),mi},Ce=ti=>{let hi=[0,0];const ui=g||DEFAULT_FORMATS_TIME,mi=ui.indexOf("HH"),pi=ui.indexOf("mm"),ri=ui.indexOf("ss");switch(ti){case"hours":mi!==-1&&(hi=[mi,mi+2]);break;case"minutes":pi!==-1&&(hi=[pi,pi+2]);break;case"seconds":ri!==-1&&(hi=[ri,ri+2]);break}const[oi,bi]=hi;e("select-range",oi,bi),j.value=ti},xe=ti=>{$e(ti,unref(de)[ti])},Ie=()=>{xe("hours"),xe("minutes"),xe("seconds")},Ne=ti=>ti.querySelector(".".concat(y.namespace.value,"-scrollbar__wrap")),$e=(ti,hi)=>{if(t.arrowControl)return;const ui=unref(ae[ti]);ui&&ui.$el&&(Ne(ui.$el).scrollTop=Math.max(0,hi*Oe(ti)))},Oe=ti=>{const hi=unref(ae[ti]),ui=hi==null?void 0:hi.$el.querySelector("li");return ui&&Number.parseFloat(getStyle(ui,"height"))||0},Fe=()=>{ze(1)},Et=()=>{ze(-1)},ze=ti=>{j.value||Ce("hours");const hi=j.value,ui=unref(de)[hi],mi=j.value==="hours"?24:60,pi=qe(hi,ui,ti,mi);Ve(hi,pi),$e(hi,pi),nextTick(()=>Ce(hi))},qe=(ti,hi,ui,mi)=>{let pi=(hi+ui+mi)%mi;const ri=unref(ue)[ti];for(;ri[pi]&&pi!==hi;)pi=(pi+ui+mi)%mi;return pi},Ve=(ti,hi)=>{if(unref(ue)[ti][hi])return;const{hours:pi,minutes:ri,seconds:oi}=unref(de);let bi;switch(ti){case"hours":bi=t.spinnerDate.hour(hi).minute(ri).second(oi);break;case"minutes":bi=t.spinnerDate.hour(pi).minute(hi).second(oi);break;case"seconds":bi=t.spinnerDate.hour(pi).minute(ri).second(hi);break}e(CHANGE_EVENT,bi)},kt=(ti,{value:hi,disabled:ui})=>{ui||(Ve(ti,hi),Ce(ti),$e(ti,hi))},Ue=ti=>{const hi=unref(ae[ti]);if(!hi)return;V=!0,pe(ti);const ui=Math.min(Math.round((Ne(hi.$el).scrollTop-(Dt(ti)*.5-10)/Oe(ti)+3)/Oe(ti)),ti==="hours"?23:59);Ve(ti,ui)},Dt=ti=>unref(ae[ti]).$el.offsetHeight,jt=()=>{const ti=hi=>{const ui=unref(ae[hi]);ui&&ui.$el&&(Ne(ui.$el).onscroll=()=>{Ue(hi)})};ti("hours"),ti("minutes"),ti("seconds")};onMounted(()=>{nextTick(()=>{!t.arrowControl&&jt(),Ie(),t.role==="start"&&Ce("hours")})});const ei=(ti,hi)=>{ae[hi].value=ti!=null?ti:void 0};return e("set-option",["".concat(t.role,"_scrollDown"),ze]),e("set-option",["".concat(t.role,"_emitSelectRange"),Ce]),watch(()=>t.spinnerDate,()=>{V||Ie()}),(ti,hi)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(y).b("spinner"),{"has-seconds":ti.showSeconds}])},[ti.arrowControl?createCommentVNode("v-if",!0):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(unref(le),ui=>(openBlock(),createBlock(unref(ElScrollbar),{key:ui,ref_for:!0,ref:mi=>ei(mi,ui),class:normalizeClass(unref(y).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":unref(y).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:mi=>Ce(ui),onMousemove:mi=>xe(ui)},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(ue)[ui],(mi,pi)=>(openBlock(),createElementBlock("li",{key:pi,class:normalizeClass([unref(y).be("spinner","item"),unref(y).is("active",pi===unref(de)[ui]),unref(y).is("disabled",mi)]),onClick:ri=>kt(ui,{value:pi,disabled:mi})},[ui==="hours"?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(("0"+(ti.amPmMode?pi%12||12:pi)).slice(-2))+toDisplayString(_e(pi)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(("0"+pi).slice(-2)),1)],64))],10,["onClick"]))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),ti.arrowControl?(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(unref(le),ui=>(openBlock(),createElementBlock("div",{key:ui,class:normalizeClass([unref(y).be("spinner","wrapper"),unref(y).is("arrow")]),onMouseenter:mi=>Ce(ui)},[withDirectives((openBlock(),createBlock(unref(ElIcon),{class:normalizeClass(["arrow-up",unref(y).be("spinner","arrow")])},{default:withCtx(()=>[createVNode(unref(arrow_up_default))]),_:1},8,["class"])),[[unref(vRepeatClick),Et]]),withDirectives((openBlock(),createBlock(unref(ElIcon),{class:normalizeClass(["arrow-down",unref(y).be("spinner","arrow")])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class"])),[[unref(vRepeatClick),Fe]]),createBaseVNode("ul",{class:normalizeClass(unref(y).be("spinner","list"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(he)[ui],(mi,pi)=>(openBlock(),createElementBlock("li",{key:pi,class:normalizeClass([unref(y).be("spinner","item"),unref(y).is("active",mi===unref(de)[ui]),unref(y).is("disabled",unref(ue)[ui][mi])])},[unref(isNumber)(mi)?(openBlock(),createElementBlock(Fragment,{key:0},[ui==="hours"?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(("0"+(ti.amPmMode?mi%12||12:mi)).slice(-2))+toDisplayString(_e(mi)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(("0"+mi).slice(-2)),1)],64))],64)):createCommentVNode("v-if",!0)],2))),128))],2)],42,["onMouseenter"]))),128)):createCommentVNode("v-if",!0)],2))}});var TimeSpinner=_export_sfc$1(_sfc_main$12,[["__file","basic-time-spinner.vue"]]);const _sfc_main$11=defineComponent({__name:"panel-time-pick",props:panelTimePickerProps,emits:["pick","select-range","set-picker-option"],setup(n,{emit:e}){const t=n,i=inject(PICKER_BASE_INJECTION_KEY),{arrowControl:r,disabledHours:g,disabledMinutes:y,disabledSeconds:k,defaultValue:L}=i.props,{getAvailableHours:z,getAvailableMinutes:V,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=Ue=>{const Dt=dayjs(Ue).locale(re.value),jt=ze(Dt);return Dt.isSame(jt)},_e=()=>{e("pick",le.value,!1)},Ce=(Ue=!1,Dt=!1)=>{Dt||e("pick",t.parsedValue,Ue)},xe=Ue=>{if(!t.visible)return;const Dt=ze(Ue).millisecond(0);e("pick",Dt,!0)},Ie=(Ue,Dt)=>{e("select-range",Ue,Dt),ae.value=[Ue,Dt]},Ne=Ue=>{const Dt=t.format,jt=Dt.indexOf("HH"),ei=Dt.indexOf("mm"),ti=Dt.indexOf("ss"),hi=[],ui=[];jt!==-1&&(hi.push(jt),ui.push("hours")),ei!==-1&&(hi.push(ei),ui.push("minutes")),ti!==-1&&ue.value&&(hi.push(ti),ui.push("seconds"));const pi=(hi.indexOf(ae.value[0])+Ue+hi.length)%hi.length;Oe.start_emitSelectRange(ui[pi])},$e=Ue=>{const Dt=Ue.code,{left:jt,right:ei,up:ti,down:hi}=EVENT_CODE;if([jt,ei].includes(Dt)){Ne(Dt===jt?-1:1),Ue.preventDefault();return}if([ti,hi].includes(Dt)){const ui=Dt===ti?-1:1;Oe.start_scrollDown(ui),Ue.preventDefault();return}},{timePickerOptions:Oe,onSetOption:Fe,getAvailableTime:Et}=useTimePanel({getAvailableHours:z,getAvailableMinutes:V,getAvailableSeconds:j}),ze=Ue=>Et(Ue,t.datetimeRole||"",!0),qe=Ue=>Ue?dayjs(Ue,t.format).locale(re.value):null,Ve=Ue=>Ue?Ue.format(t.format):null,kt=()=>dayjs(L).locale(re.value);return e("set-picker-option",["isValidValue",pe]),e("set-picker-option",["formatToString",Ve]),e("set-picker-option",["parseUserInput",qe]),e("set-picker-option",["handleKeydownInput",$e]),e("set-picker-option",["getRangeAvailableTime",ze]),e("set-picker-option",["getDefaultValue",kt]),(Ue,Dt)=>(openBlock(),createBlock(Transition,{name:unref(de)},{default:withCtx(()=>[Ue.actualVisible||Ue.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:Ue.datetimeRole||"start","arrow-control":unref(r),"show-seconds":unref(ue),"am-pm-mode":unref(he),"spinner-date":Ue.parsedValue,"disabled-hours":unref(g),"disabled-minutes":unref(y),"disabled-seconds":unref(k),onChange:xe,onSetOption:unref(Fe),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:_e},toDisplayString(unref(oe)("el.datepicker.cancel")),3),createBaseVNode("button",{type:"button",class:normalizeClass([unref(ie).be("panel","btn"),"confirm"]),onClick:jt=>Ce()},toDisplayString(unref(oe)("el.datepicker.confirm")),11,["onClick"])],2)],2)):createCommentVNode("v-if",!0)]),_:1},8,["name"]))}});var TimePickPanel=_export_sfc$1(_sfc_main$11,[["__file","panel-time-pick.vue"]]);const panelTimeRangeProps=buildProps({...timePanelSharedProps,parsedValue:{type:definePropType(Array)}}),_sfc_main$10=defineComponent({__name:"panel-time-range",props:panelTimeRangeProps,emits:["pick","select-range","set-picker-option"],setup(n,{emit:e}){const t=n,i=(Si,ni)=>{const fi=[];for(let si=Si;si<=ni;si++)fi.push(si);return fi},{t:r,lang:g}=useLocale(),y=useNamespace("time"),k=useNamespace("picker"),L=inject(PICKER_BASE_INJECTION_KEY),{arrowControl:z,disabledHours:V,disabledMinutes:j,disabledSeconds:ie,defaultValue:oe}=L.props,re=computed$1(()=>[y.be("range-picker","body"),y.be("panel","content"),y.is("arrow",z),pe.value?"has-seconds":""]),ae=computed$1(()=>[y.be("range-picker","body"),y.be("panel","content"),y.is("arrow",z),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")),_e=computed$1(()=>t.format.includes("A")?"A":t.format.includes("a")?"a":""),Ce=(Si=!1)=>{e("pick",[le.value,de.value],Si)},xe=Si=>{$e(Si.millisecond(0),de.value)},Ie=Si=>{$e(le.value,Si.millisecond(0))},Ne=Si=>{const ni=Si.map(si=>dayjs(si).locale(g.value)),fi=ei(ni);return ni[0].isSame(fi[0])&&ni[1].isSame(fi[1])},$e=(Si,ni)=>{t.visible&&e("pick",[Si,ni],!0)},Oe=computed$1(()=>le.value>de.value),Fe=ref$1([0,2]),Et=(Si,ni)=>{e("select-range",Si,ni,"min"),Fe.value=[Si,ni]},ze=computed$1(()=>pe.value?11:8),qe=(Si,ni)=>{e("select-range",Si,ni,"max");const fi=unref(ze);Fe.value=[Si+fi,ni+fi]},Ve=Si=>{const ni=pe.value?[0,3,6,11,14,17]:[0,3,8,11],fi=["hours","minutes"].concat(pe.value?["seconds"]:[]),_i=(ni.indexOf(Fe.value[0])+Si+ni.length)%ni.length,Pt=ni.length/2;_i{const ni=Si.code,{left:fi,right:si,up:_i,down:Pt}=EVENT_CODE;if([fi,si].includes(ni)){Ve(ni===fi?-1:1),Si.preventDefault();return}if([_i,Pt].includes(ni)){const Lt=ni===_i?-1:1,At=Fe.value[0]{const fi=V?V(Si):[],si=Si==="start",Pt=(ni||(si?de.value:le.value)).hour(),Lt=si?i(Pt+1,23):i(0,Pt-1);return union(fi,Lt)},Dt=(Si,ni,fi)=>{const si=j?j(Si,ni):[],_i=ni==="start",Pt=fi||(_i?de.value:le.value),Lt=Pt.hour();if(Si!==Lt)return si;const At=Pt.minute(),ii=_i?i(At+1,59):i(0,At-1);return union(si,ii)},jt=(Si,ni,fi,si)=>{const _i=ie?ie(Si,ni,fi):[],Pt=fi==="start",Lt=si||(Pt?de.value:le.value),At=Lt.hour(),ii=Lt.minute();if(Si!==At||ni!==ii)return _i;const gi=Lt.second(),yi=Pt?i(gi+1,59):i(0,gi-1);return union(_i,yi)},ei=([Si,ni])=>[pi(Si,"start",!0,ni),pi(ni,"end",!1,Si)],{getAvailableHours:ti,getAvailableMinutes:hi,getAvailableSeconds:ui}=buildAvailableTimeSlotGetter(Ue,Dt,jt),{timePickerOptions:mi,getAvailableTime:pi,onSetOption:ri}=useTimePanel({getAvailableHours:ti,getAvailableMinutes:hi,getAvailableSeconds:ui}),oi=Si=>Si?isArray$1(Si)?Si.map(ni=>dayjs(ni,t.format).locale(g.value)):dayjs(Si,t.format).locale(g.value):null,bi=Si=>Si?isArray$1(Si)?Si.map(ni=>ni.format(t.format)):Si.format(t.format):null,Ti=()=>{if(isArray$1(oe))return oe.map(ni=>dayjs(ni).locale(g.value));const Si=dayjs(oe).locale(g.value);return[Si,Si.add(60,"m")]};return e("set-picker-option",["formatToString",bi]),e("set-picker-option",["parseUserInput",oi]),e("set-picker-option",["isValidValue",Ne]),e("set-picker-option",["handleKeydownInput",kt]),e("set-picker-option",["getDefaultValue",Ti]),e("set-picker-option",["getRangeAvailableTime",ei]),(Si,ni)=>Si.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(_e),"arrow-control":unref(z),"spinner-date":unref(le),"disabled-hours":Ue,"disabled-minutes":Dt,"disabled-seconds":jt,onChange:xe,onSetOption:unref(ri),onSelectRange:Et},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(_e),"arrow-control":unref(z),"spinner-date":unref(de),"disabled-hours":Ue,"disabled-minutes":Dt,"disabled-seconds":jt,onChange:Ie,onSetOption:unref(ri),onSelectRange:qe},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(Oe),onClick:fi=>Ce()},toDisplayString(unref(r)("el.datepicker.confirm")),11,["disabled","onClick"])],2)],2)):createCommentVNode("v-if",!0)}});var TimeRangePanel=_export_sfc$1(_sfc_main$10,[["__file","panel-time-range.vue"]]);dayjs.extend(customParseFormat);var TimePicker=defineComponent({name:"ElTimePicker",install:null,props:{...timePickerDefaultProps,isRange:Boolean},emits:[UPDATE_MODEL_EVENT],setup(n,e){const t=ref$1(),[i,r]=n.isRange?["timerange",TimeRangePanel]:["time",TimePickPanel],g=y=>e.emit(UPDATE_MODEL_EVENT,y);return provide(PICKER_POPPER_OPTIONS_INJECTION_KEY,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);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 z=this.$utils(),V=(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 z.s(k.week(),j==="w"?1:2,"0");case"W":case"WW":return z.s(k.isoWeek(),j==="W"?1:2,"0");case"k":case"kk":return z.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)(V)}}})}(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 z=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var V=y(this).startOf(i).add(1,i).date(z),j=y(this).endOf(t);if(V.isBefore(j))return 1}var ie=y(this).startOf(i).date(z).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),datePickerPanelProps=buildProps({valueFormat:String,dateFormat:String,timeFormat:String,disabled:Boolean,modelValue:{type:definePropType([Date,Array,String,Number]),default:""},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,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:definePropType(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0}}),ROOT_PICKER_INJECTION_KEY=Symbol("rootPickerContextKey"),ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY="ElIsDefaultFormat",selectionModes=["date","dates","year","years","month","months","week","range"],datePickerSharedProps=buildProps({cellClassName:{type:definePropType(Function)},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})},disabled:Boolean}),panelSharedProps=buildProps({type:{type:definePropType(String),required:!0,values:datePickTypes},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean}),panelRangeSharedProps=buildProps({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:definePropType(Array)}}),selectionModeWithDefault=n=>({type:String,values:selectionModes,default:n}),panelDatePickProps=buildProps({...panelSharedProps,parsedValue:{type:definePropType([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}}),isValidRange=n=>{if(!isArray$1(n))return!1;const[e,t]=n;return dayjs.isDayjs(e)&&dayjs.isDayjs(t)&&dayjs(e).isValid()&&dayjs(t).isValid()&&e.isSameOrBefore(t)},getDefaultValue=(n,{lang:e,step:t=1,unit:i,unlinkPanels:r})=>{let g;if(isArray$1(n)){let[y,k]=n.map(L=>dayjs(L).locale(e));return r||(k=y.add(t,i)),[y,k]}else n?g=dayjs(n):g=dayjs();return g=g.locale(e),[g,g.add(t,i)]},buildPickerTable=(n,e,{columnIndexOffset:t,startDate:i,nextEndDate:r,now:g,unit:y,relativeDateGetter:k,setCellMetadata:L,setRowMetadata:z})=>{for(let V=0;V{const r=dayjs().locale(i).startOf("month").month(t).year(e).hour(n.hour()).minute(n.minute()).second(n.second()),g=r.daysInMonth();return rangeArr(g).map(y=>r.add(y,"day").toDate())},getValidDateOfMonth=(n,e,t,i,r)=>{const g=dayjs().year(e).month(t).startOf("month").hour(n.hour()).minute(n.minute()).second(n.second()),y=datesInMonth(n,e,t,i).find(k=>!(r!=null&&r(k)));return y?dayjs(y).locale(i):g.locale(i)},getValidDateOfYear=(n,e,t)=>{const i=n.year();if(!(t!=null&&t(n.toDate())))return n.locale(e);const r=n.month();if(!datesInMonth(n,i,r,e).every(t))return getValidDateOfMonth(n,i,r,e,t);for(let g=0;g<12;g++)if(!datesInMonth(n,i,g,e).every(t))return getValidDateOfMonth(n,i,g,e,t);return n},correctlyParseUserInput=(n,e,t,i)=>{if(isArray$1(n))return n.map(r=>correctlyParseUserInput(r,e,t,i));if(isString$1(n)){const r=i!=null&&i.value?dayjs(n):dayjs(n,e);if(!r.isValid())return r}return dayjs(n,e).locale(t)},basicDateTableProps=buildProps({...datePickerSharedProps,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 z=n.date.$locale().weekStart||7,V=n.date.locale("en").localeData().weekdaysShort().map(Ue=>Ue.toLowerCase()),j=computed$1(()=>z>3?7-z:-z),ie=computed$1(()=>{const Ue=n.date.startOf("month");return Ue.subtract(Ue.day()||7,"day")}),oe=computed$1(()=>V.concat(V).slice(z,z+7)),re=computed$1(()=>flatten(unref(pe)).some(Ue=>Ue.isCurrent)),ae=computed$1(()=>{const Ue=n.date.startOf("month"),Dt=Ue.day()||7,jt=Ue.daysInMonth(),ei=Ue.subtract(1,"month").daysInMonth();return{startOfMonthDay:Dt,dateCountOfMonth:jt,dateCountOfLastMonth:ei}}),le=computed$1(()=>n.selectionMode==="dates"?castArray(n.parsedValue):[]),de=(Ue,{count:Dt,rowIndex:jt,columnIndex:ei})=>{const{startOfMonthDay:ti,dateCountOfMonth:hi,dateCountOfLastMonth:ui}=unref(ae),mi=unref(j);if(jt>=0&&jt<=1){const pi=ti+mi<0?7+ti+mi:ti+mi;if(ei+jt*7>=pi)return Ue.text=Dt,!0;Ue.text=ui-(pi-ei%7)+1+jt*7,Ue.type="prev-month"}else return Dt<=hi?Ue.text=Dt:(Ue.text=Dt-hi,Ue.type="next-month"),!0;return!1},ue=(Ue,{columnIndex:Dt,rowIndex:jt},ei)=>{const{disabledDate:ti,cellClassName:hi}=n,ui=unref(le),mi=de(Ue,{count:ei,rowIndex:jt,columnIndex:Dt}),pi=Ue.dayjs.toDate();return Ue.selected=ui.find(ri=>ri.isSame(Ue.dayjs,"day")),Ue.isSelected=!!Ue.selected,Ue.isCurrent=Ce(Ue),Ue.disabled=ti==null?void 0:ti(pi),Ue.customClass=hi==null?void 0:hi(pi),mi},he=Ue=>{if(n.selectionMode==="week"){const[Dt,jt]=n.showWeekNumber?[1,7]:[0,6],ei=kt(Ue[Dt+1]);Ue[Dt].inRange=ei,Ue[Dt].start=ei,Ue[jt].inRange=ei,Ue[jt].end=ei}},pe=computed$1(()=>{const{minDate:Ue,maxDate:Dt,rangeState:jt,showWeekNumber:ei}=n,ti=unref(j),hi=unref(k),ui="day";let mi=1;if(buildPickerTable({row:6,column:7},hi,{startDate:Ue,columnIndexOffset:ei?1:0,nextEndDate:jt.endDate||Dt||jt.selecting&&Ue||null,now:dayjs().locale(unref(t)).startOf(ui),unit:ui,relativeDateGetter:pi=>unref(ie).add(pi-ti,ui),setCellMetadata:(...pi)=>{ue(...pi,mi)&&(mi+=1)},setRowMetadata:he}),ei)for(let pi=0;pi<6;pi++)hi[pi][1].dayjs&&(hi[pi][0]={type:"week",text:hi[pi][1].dayjs.week()});return hi});watch(()=>n.date,async()=>{var Ue;(Ue=unref(i))!=null&&Ue.contains(document.activeElement)&&(await nextTick(),await _e())});const _e=async()=>{var Ue;return(Ue=unref(r))==null?void 0:Ue.focus()},Ce=Ue=>n.selectionMode==="date"&&isNormalDay(Ue.type)&&xe(Ue,n.parsedValue),xe=(Ue,Dt)=>Dt?dayjs(Dt).locale(unref(t)).isSame(n.date.date(Number(Ue.text)),"day"):!1,Ie=(Ue,Dt)=>{const jt=Ue*7+(Dt-(n.showWeekNumber?1:0))-unref(j);return unref(ie).add(jt,"day")},Ne=Ue=>{var Dt;if(!n.rangeState.selecting)return;let jt=Ue.target;if(jt.tagName==="SPAN"&&(jt=(Dt=jt.parentNode)==null?void 0:Dt.parentNode),jt.tagName==="DIV"&&(jt=jt.parentNode),jt.tagName!=="TD")return;const ei=jt.parentNode.rowIndex-1,ti=jt.cellIndex;unref(pe)[ei][ti].disabled||(ei!==unref(g)||ti!==unref(y))&&(g.value=ei,y.value=ti,e("changerange",{selecting:!0,endDate:Ie(ei,ti)}))},$e=Ue=>{L||unref(re)||n.selectionMode!=="date"||Ve(Ue,!0)},Oe=Ue=>{Ue.target.closest("td")&&(L=!0)},Fe=Ue=>{Ue.target.closest("td")&&(L=!1)},Et=Ue=>{!n.rangeState.selecting||!n.minDate?(e("pick",{minDate:Ue,maxDate:null}),e("select",!0)):(Ue>=n.minDate?e("pick",{minDate:n.minDate,maxDate:Ue}):e("pick",{minDate:Ue,maxDate:n.minDate}),e("select",!1))},ze=Ue=>{const Dt=Ue.week(),jt="".concat(Ue.year(),"w").concat(Dt);e("pick",{year:Ue.year(),week:Dt,value:jt,date:Ue.startOf("week")})},qe=(Ue,Dt)=>{const jt=Dt?castArray(n.parsedValue).filter(ei=>(ei==null?void 0:ei.valueOf())!==Ue.valueOf()):castArray(n.parsedValue).concat([Ue]);e("pick",jt)},Ve=(Ue,Dt=!1)=>{if(n.disabled)return;const jt=Ue.target.closest("td");if(!jt)return;const ei=jt.parentNode.rowIndex-1,ti=jt.cellIndex,hi=unref(pe)[ei][ti];if(hi.disabled||hi.type==="week")return;const ui=Ie(ei,ti);switch(n.selectionMode){case"range":{Et(ui);break}case"date":{e("pick",ui,Dt);break}case"week":{ze(ui);break}case"dates":{qe(ui,!!hi.selected);break}}},kt=Ue=>{if(n.selectionMode!=="week")return!1;let Dt=n.date.startOf("day");if(Ue.type==="prev-month"&&(Dt=Dt.subtract(1,"month")),Ue.type==="next-month"&&(Dt=Dt.add(1,"month")),Dt=Dt.date(Number.parseInt(Ue.text,10)),n.parsedValue&&!isArray$1(n.parsedValue)){const jt=(n.parsedValue.day()-z+7)%7-1;return n.parsedValue.subtract(jt,"day").isSame(Dt,"day")}return!1};return{WEEKS:oe,rows:pe,tbodyRef:i,currentCellRef:r,focus:_e,isCurrent:Ce,isWeekActive:kt,handlePickDate:Ve,handleMouseUp:Fe,handleMouseDown:Oe,handleMouseMove:Ne,handleFocus:$e}},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"&&!n.disabled}]),y=computed$1(()=>r("el.datepicker.dateTablePrompt")),k=z=>{const V=[];return isNormalDay(z.type)&&!z.disabled?(V.push("available"),z.type==="today"&&V.push("today")):V.push(z.type),e(z)&&V.push("current"),z.inRange&&(isNormalDay(z.type)||n.selectionMode==="week")&&(V.push("in-range"),z.start&&V.push("start-date"),z.end&&V.push("end-date")),(z.disabled||n.disabled)&&V.push("disabled"),z.selected&&V.push("selected"),z.customClass&&V.push(z.customClass),V.join(" ")},L=z=>[i.e("row"),{current:t(z)}];return{tableKls:g,tableLabel:y,weekHeaderClass:i.e("week-header"),getCellClasses:k,getRowKls:L,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$$=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:z,isWeekActive:V,handlePickDate:j,handleMouseUp:ie,handleMouseDown:oe,handleMouseMove:re,handleFocus:ae}=useBasicDateTable(i,t),{tableLabel:le,tableKls:de,getCellClasses:ue,getRowKls:he,weekHeaderClass:pe,t:_e}=useBasicDateTableDOM(i,{isCurrent:z,isWeekActive:V});let Ce=!1;return onBeforeUnmount(()=>{Ce=!0}),e({focus:L}),(xe,Ie)=>(openBlock(),createElementBlock("table",{"aria-label":unref(le),class:normalizeClass(unref(de)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:unref(j),onMousemove:unref(re),onMousedown:unref(oe),onMouseup:unref(ie)},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:y},[createBaseVNode("tr",null,[xe.showWeekNumber?(openBlock(),createElementBlock("th",{key:0,scope:"col",class:normalizeClass(unref(pe))},null,2)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(r),(Ne,$e)=>(openBlock(),createElementBlock("th",{key:$e,"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,$e)=>(openBlock(),createElementBlock("tr",{key:$e,class:normalizeClass(unref(he)(Ne[1]))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ne,(Oe,Fe)=>(openBlock(),createElementBlock("td",{key:"".concat($e,".").concat(Fe),ref_for:!0,ref:Et=>!unref(Ce)&&Oe.isSelected&&(k.value=Et),class:normalizeClass(unref(ue)(Oe)),"aria-current":Oe.isCurrent?"date":void 0,"aria-selected":Oe.isCurrent,tabindex:Oe.isSelected?0:-1,onFocus:unref(ae)},[createVNode(unref(ElDatePickerCell),{cell:Oe},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$1(_sfc_main$$,[["__file","basic-date-table.vue"]]);const basicMonthTableProps=buildProps({...datePickerSharedProps,selectionMode:selectionModeWithDefault("month")}),_sfc_main$_=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(),z=ref$1(i.date.locale("en").localeData().monthsShort().map(he=>he.toLowerCase())),V=ref$1([[],[],[]]),j=ref$1(),ie=ref$1(),oe=computed$1(()=>{var he,pe,_e;const Ce=V.value,xe=dayjs().locale(y.value).startOf("month");for(let Ie=0;Ie<3;Ie++){const Ne=Ce[Ie];for(let $e=0;$e<4;$e++){const Oe=Ne[$e]||(Ne[$e]={row:Ie,column:$e,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0});Oe.type="normal";const Fe=Ie*4+$e,Et=i.date.startOf("year").month(Fe),ze=i.rangeState.endDate||i.maxDate||i.rangeState.selecting&&i.minDate||null;Oe.inRange=!!(i.minDate&&Et.isSameOrAfter(i.minDate,"month")&&ze&&Et.isSameOrBefore(ze,"month"))||!!(i.minDate&&Et.isSameOrBefore(i.minDate,"month")&&ze&&Et.isSameOrAfter(ze,"month")),(he=i.minDate)!=null&&he.isSameOrAfter(ze)?(Oe.start=!!(ze&&Et.isSame(ze,"month")),Oe.end=i.minDate&&Et.isSame(i.minDate,"month")):(Oe.start=!!(i.minDate&&Et.isSame(i.minDate,"month")),Oe.end=!!(ze&&Et.isSame(ze,"month"))),xe.isSame(Et)&&(Oe.type="today");const Ve=Et.toDate();Oe.text=Fe,Oe.disabled=((pe=i.disabledDate)==null?void 0:pe.call(i,Ve))||!1,Oe.date=Ve,Oe.customClass=(_e=i.cellClassName)==null?void 0:_e.call(i,Ve),Oe.dayjs=Et,Oe.timestamp=Et.valueOf(),Oe.isSelected=le(Oe)}}return Ce}),re=()=>{var he;(he=L.value)==null||he.focus()},ae=he=>{const pe={},_e=i.date.year(),Ce=new Date,xe=he.text;return pe.disabled=i.disabled||(i.disabledDate?datesInMonth(i.date,_e,xe,y.value).every(i.disabledDate):!1),pe.current=castArray(i.parsedValue).findIndex(Ie=>dayjs.isDayjs(Ie)&&Ie.year()===_e&&Ie.month()===xe)>=0,pe.today=Ce.getFullYear()===_e&&Ce.getMonth()===xe,he.customClass&&(pe[he.customClass]=!0),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(),_e=he.text;return castArray(i.date).findIndex(Ce=>Ce.year()===pe&&Ce.month()===_e)>=0},de=he=>{var pe;if(!i.rangeState.selecting)return;let _e=he.target;if(_e.tagName==="SPAN"&&(_e=(pe=_e.parentNode)==null?void 0:pe.parentNode),_e.tagName==="DIV"&&(_e=_e.parentNode),_e.tagName!=="TD")return;const Ce=_e.parentNode.rowIndex,xe=_e.cellIndex;oe.value[Ce][xe].disabled||(Ce!==j.value||xe!==ie.value)&&(j.value=Ce,ie.value=xe,t("changerange",{selecting:!0,endDate:i.date.startOf("year").month(Ce*4+xe)}))},ue=he=>{var pe;if(i.disabled)return;const _e=(pe=he.target)==null?void 0:pe.closest("td");if((_e==null?void 0:_e.tagName)!=="TD"||hasClass(_e,"disabled"))return;const Ce=_e.cellIndex,Ie=_e.parentNode.rowIndex*4+Ce,Ne=i.date.startOf("year").month(Ie);if(i.selectionMode==="months"){if(he.type==="keydown"){t("pick",castArray(i.parsedValue),!1);return}const $e=getValidDateOfMonth(i.date,i.date.year(),Ie,y.value,i.disabledDate),Oe=hasClass(_e,"current")?castArray(i.parsedValue).filter(Fe=>(Fe==null?void 0:Fe.year())!==$e.year()||(Fe==null?void 0:Fe.month())!==$e.month()):castArray(i.parsedValue).concat([dayjs($e)]);t("pick",Oe)}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),(_e,Ce)=>(openBlock(),createElementBlock("tr",{key:Ce},[(openBlock(!0),createElementBlock(Fragment,null,renderList(_e,(xe,Ie)=>(openBlock(),createElementBlock("td",{key:Ie,ref_for:!0,ref:Ne=>xe.isSelected&&(L.value=Ne),class:normalizeClass(ae(xe)),"aria-selected":!!xe.isSelected,"aria-label":unref(g)("el.datepicker.month".concat(+xe.text+1)),tabindex:xe.isSelected?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."+z.value[xe.text])}},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var MonthTable=_export_sfc$1(_sfc_main$_,[["__file","basic-month-table.vue"]]);const basicYearTableProps=buildProps({...datePickerSharedProps,selectionMode:selectionModeWithDefault("year")}),_sfc_main$Z=defineComponent({__name:"basic-year-table",props:basicYearTableProps,emits:["changerange","pick","select"],setup(n,{expose:e,emit:t}){const i=n,r=(pe,_e)=>{const Ce=dayjs(String(pe)).locale(_e).startOf("year"),Ie=Ce.endOf("year").dayOfYear();return rangeArr(Ie).map(Ne=>Ce.add(Ne,"day").toDate())},g=useNamespace("year-table"),{t:y,lang:k}=useLocale(),L=ref$1(),z=ref$1(),V=computed$1(()=>Math.floor(i.date.year()/10)*10),j=ref$1([[],[],[]]),ie=ref$1(),oe=ref$1(),re=computed$1(()=>{var pe,_e,Ce;const xe=j.value,Ie=dayjs().locale(k.value).startOf("year");for(let Ne=0;Ne<3;Ne++){const $e=xe[Ne];for(let Oe=0;Oe<4&&!(Ne*4+Oe>=10);Oe++){let Fe=$e[Oe];Fe||(Fe={row:Ne,column:Oe,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),Fe.type="normal";const Et=Ne*4+Oe+V.value,ze=dayjs().year(Et),qe=i.rangeState.endDate||i.maxDate||i.rangeState.selecting&&i.minDate||null;Fe.inRange=!!(i.minDate&&ze.isSameOrAfter(i.minDate,"year")&&qe&&ze.isSameOrBefore(qe,"year"))||!!(i.minDate&&ze.isSameOrBefore(i.minDate,"year")&&qe&&ze.isSameOrAfter(qe,"year")),(pe=i.minDate)!=null&&pe.isSameOrAfter(qe)?(Fe.start=!!(qe&&ze.isSame(qe,"year")),Fe.end=!!(i.minDate&&ze.isSame(i.minDate,"year"))):(Fe.start=!!(i.minDate&&ze.isSame(i.minDate,"year")),Fe.end=!!(qe&&ze.isSame(qe,"year"))),Ie.isSame(ze)&&(Fe.type="today"),Fe.text=Et;const kt=ze.toDate();Fe.disabled=((_e=i.disabledDate)==null?void 0:_e.call(i,kt))||!1,Fe.date=kt,Fe.customClass=(Ce=i.cellClassName)==null?void 0:Ce.call(i,kt),Fe.dayjs=ze,Fe.timestamp=ze.valueOf(),Fe.isSelected=de(Fe),$e[Oe]=Fe}}return xe}),ae=()=>{var pe;(pe=z.value)==null||pe.focus()},le=pe=>{const _e={},Ce=dayjs().locale(k.value),xe=pe.text;return _e.disabled=i.disabled||(i.disabledDate?r(xe,k.value).every(i.disabledDate):!1),_e.today=Ce.year()===xe,_e.current=castArray(i.parsedValue).findIndex(Ie=>Ie.year()===xe)>=0,pe.customClass&&(_e[pe.customClass]=!0),pe.inRange&&(_e["in-range"]=!0,pe.start&&(_e["start-date"]=!0),pe.end&&(_e["end-date"]=!0)),_e},de=pe=>{const _e=pe.text;return castArray(i.date).findIndex(Ce=>Ce.year()===_e)>=0},ue=pe=>{var _e;if(i.disabled)return;const Ce=(_e=pe.target)==null?void 0:_e.closest("td");if(!Ce||!Ce.textContent||hasClass(Ce,"disabled"))return;const xe=Ce.cellIndex,Ne=Ce.parentNode.rowIndex*4+xe+V.value,$e=dayjs().year(Ne);if(i.selectionMode==="range")i.rangeState.selecting?(i.minDate&&$e>=i.minDate?t("pick",{minDate:i.minDate,maxDate:$e}):t("pick",{minDate:$e,maxDate:i.minDate}),t("select",!1)):(t("pick",{minDate:$e,maxDate:null}),t("select",!0));else if(i.selectionMode==="years"){if(pe.type==="keydown"){t("pick",castArray(i.parsedValue),!1);return}const Oe=getValidDateOfYear($e.startOf("year"),k.value,i.disabledDate),Fe=hasClass(Ce,"current")?castArray(i.parsedValue).filter(Et=>(Et==null?void 0:Et.year())!==Ne):castArray(i.parsedValue).concat([Oe]);t("pick",Fe)}else t("pick",Ne)},he=pe=>{var _e;if(!i.rangeState.selecting)return;const Ce=(_e=pe.target)==null?void 0:_e.closest("td");if(!Ce)return;const xe=Ce.parentNode.rowIndex,Ie=Ce.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(V.value).add(xe*4+Ie,"year")}))};return watch(()=>i.date,async()=>{var pe,_e;(pe=L.value)!=null&&pe.contains(document.activeElement)&&(await nextTick(),(_e=z.value)==null||_e.focus())}),e({focus:ae}),(pe,_e)=>(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),(Ce,xe)=>(openBlock(),createElementBlock("tr",{key:xe},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ce,(Ie,Ne)=>(openBlock(),createElementBlock("td",{key:"".concat(xe,"_").concat(Ne),ref_for:!0,ref:$e=>Ie.isSelected&&(z.value=$e),class:normalizeClass(["available",le(Ie)]),"aria-selected":Ie.isSelected,"aria-label":String(Ie.text),tabindex:Ie.isSelected?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$1(_sfc_main$Z,[["__file","basic-year-table.vue"]]);const _sfc_main$Y=defineComponent({__name:"panel-date-pick",props:panelDatePickProps,emits:["pick","set-picker-option","panel-change"],setup(n,{emit:e}){const t=n,i=(Ei,Bi,di)=>!0,r=useNamespace("picker-panel"),g=useNamespace("date-picker"),y=useAttrs$1(),k=useSlots(),{t:L,lang:z}=useLocale(),V=inject(PICKER_BASE_INJECTION_KEY),j=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),{shortcuts:ie,disabledDate:oe,cellClassName:re,defaultTime:ae}=V.props,le=toRef(V.props,"defaultValue"),de=ref$1(),ue=ref$1(dayjs().locale(z.value)),he=ref$1(!1);let pe=!1;const _e=computed$1(()=>dayjs(ae).locale(z.value)),Ce=computed$1(()=>ue.value.month()),xe=computed$1(()=>ue.value.year()),Ie=ref$1([]),Ne=ref$1(null),$e=ref$1(null),Oe=Ei=>Ie.value.length>0?i(Ei,Ie.value,t.format||"HH:mm:ss"):!0,Fe=Ei=>ae&&!Pt.value&&!he.value&&!pe?_e.value.year(Ei.year()).month(Ei.month()).date(Ei.date()):ri.value?Ei.millisecond(0):Ei.startOf("day"),Et=(Ei,...Bi)=>{if(!Ei)e("pick",Ei,...Bi);else if(isArray$1(Ei)){const di=Ei.map(Fe);e("pick",di,...Bi)}else e("pick",Fe(Ei),...Bi);Ne.value=null,$e.value=null,he.value=!1,pe=!1},ze=async(Ei,Bi)=>{if(jt.value==="date"){Ei=Ei;let di=t.parsedValue?t.parsedValue.year(Ei.year()).month(Ei.month()).date(Ei.date()):Ei;Oe(di)||(di=Ie.value[0][0].year(Ei.year()).month(Ei.month()).date(Ei.date())),ue.value=di,Et(di,ri.value||Bi)}else jt.value==="week"?Et(Ei.date):jt.value==="dates"&&Et(Ei,!0)},qe=Ei=>{const Bi=Ei?"add":"subtract";ue.value=ue.value[Bi](1,"month"),Xi("month")},Ve=Ei=>{const Bi=ue.value,di=Ei?"add":"subtract";ue.value=kt.value==="year"?Bi[di](10,"year"):Bi[di](1,"year"),Xi("year")},kt=ref$1("date"),Ue=computed$1(()=>{const Ei=L("el.datepicker.year");if(kt.value==="year"){const Bi=Math.floor(xe.value/10)*10;return Ei?"".concat(Bi," ").concat(Ei," - ").concat(Bi+9," ").concat(Ei):"".concat(Bi," - ").concat(Bi+9)}return"".concat(xe.value," ").concat(Ei)}),Dt=Ei=>{const Bi=isFunction$1(Ei.value)?Ei.value():Ei.value;if(Bi){pe=!0,Et(dayjs(Bi).locale(z.value));return}Ei.onClick&&Ei.onClick({attrs:y,slots:k,emit:e})},jt=computed$1(()=>{const{type:Ei}=t;return["week","month","months","year","years","dates"].includes(Ei)?Ei:"date"}),ei=computed$1(()=>jt.value==="dates"||jt.value==="months"||jt.value==="years"),ti=computed$1(()=>jt.value==="date"?kt.value:jt.value),hi=computed$1(()=>!!ie.length),ui=async(Ei,Bi)=>{jt.value==="month"?(ue.value=getValidDateOfMonth(ue.value,ue.value.year(),Ei,z.value,oe),Et(ue.value,!1)):jt.value==="months"?Et(Ei,Bi!=null?Bi:!0):(ue.value=getValidDateOfMonth(ue.value,ue.value.year(),Ei,z.value,oe),kt.value="date",["month","year","date","week"].includes(jt.value)&&(Et(ue.value,!0),await nextTick(),Sn())),Xi("month")},mi=async(Ei,Bi)=>{if(jt.value==="year"){const di=ue.value.startOf("year").year(Ei);ue.value=getValidDateOfYear(di,z.value,oe),Et(ue.value,!1)}else if(jt.value==="years")Et(Ei,Bi!=null?Bi:!0);else{const di=ue.value.year(Ei);ue.value=getValidDateOfYear(di,z.value,oe),kt.value="month",["month","year","date","week"].includes(jt.value)&&(Et(ue.value,!0),await nextTick(),Sn())}Xi("year")},pi=async Ei=>{t.disabled||(kt.value=Ei,await nextTick(),Sn())},ri=computed$1(()=>t.type==="datetime"||t.type==="datetimerange"),oi=computed$1(()=>{const Ei=ri.value||jt.value==="dates",Bi=jt.value==="years",di=jt.value==="months",Ni=kt.value==="date",Mi=kt.value==="year",ji=kt.value==="month";return Ei&&Ni||Bi&&Mi||di&&ji}),bi=computed$1(()=>!ei.value&&t.showNow||t.showConfirm),Ti=computed$1(()=>oe?t.parsedValue?isArray$1(t.parsedValue)?oe(t.parsedValue[0].toDate()):oe(t.parsedValue.toDate()):!0:!1),Si=()=>{if(ei.value)Et(t.parsedValue);else{let Ei=t.parsedValue;if(!Ei){const Bi=dayjs(ae).locale(z.value),di=qi();Ei=Bi.year(di.year()).month(di.month()).date(di.date())}ue.value=Ei,Et(Ei)}},ni=computed$1(()=>oe?oe(dayjs().locale(z.value).toDate()):!1),fi=()=>{const Bi=dayjs().locale(z.value).toDate();he.value=!0,(!oe||!oe(Bi))&&Oe(Bi)&&(ue.value=dayjs().locale(z.value),Et(ue.value))},si=computed$1(()=>t.timeFormat||extractTimeFormat(t.format)||DEFAULT_FORMATS_TIME),_i=computed$1(()=>t.dateFormat||extractDateFormat(t.format)||DEFAULT_FORMATS_DATE),Pt=computed$1(()=>{if($e.value)return $e.value;if(!(!t.parsedValue&&!le.value))return(t.parsedValue||ue.value).format(si.value)}),Lt=computed$1(()=>{if(Ne.value)return Ne.value;if(!(!t.parsedValue&&!le.value))return(t.parsedValue||ue.value).format(_i.value)}),At=ref$1(!1),ii=()=>{At.value=!0},gi=()=>{At.value=!1},yi=Ei=>({hour:Ei.hour(),minute:Ei.minute(),second:Ei.second(),year:Ei.year(),month:Ei.month(),date:Ei.date()}),Li=(Ei,Bi,di)=>{const{hour:Ni,minute:Mi,second:ji}=yi(Ei),hn=t.parsedValue?t.parsedValue.hour(Ni).minute(Mi).second(ji):Ei;ue.value=hn,Et(ue.value,!0),di||(At.value=Bi)},Pi=Ei=>{const Bi=dayjs(Ei,si.value).locale(z.value);if(Bi.isValid()&&Oe(Bi)){const{year:di,month:Ni,date:Mi}=yi(ue.value);ue.value=Bi.year(di).month(Ni).date(Mi),$e.value=null,At.value=!1,Et(ue.value,!0)}},xi=Ei=>{const Bi=correctlyParseUserInput(Ei,_i.value,z.value,j);if(Bi.isValid()){if(oe&&oe(Bi.toDate()))return;const{hour:di,minute:Ni,second:Mi}=yi(ue.value);ue.value=Bi.hour(di).minute(Ni).second(Mi),Ne.value=null,Et(ue.value,!0)}},Ai=Ei=>dayjs.isDayjs(Ei)&&Ei.isValid()&&(oe?!oe(Ei.toDate()):!0),Vi=Ei=>isArray$1(Ei)?Ei.map(Bi=>Bi.format(t.format)):Ei.format(t.format),Hi=Ei=>correctlyParseUserInput(Ei,t.format,z.value,j),qi=()=>{const Ei=dayjs(le.value).locale(z.value);if(!le.value){const Bi=_e.value;return dayjs().hour(Bi.hour()).minute(Bi.minute()).second(Bi.second()).locale(z.value)}return Ei},Sn=()=>{var Ei;["week","month","year","date"].includes(jt.value)&&((Ei=de.value)==null||Ei.focus())},wn=()=>{Sn(),jt.value==="week"&&Yi(EVENT_CODE.down)},zi=Ei=>{const{code:Bi}=Ei;[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(Bi)&&(Yi(Bi),Ei.stopPropagation(),Ei.preventDefault()),[EVENT_CODE.enter,EVENT_CODE.space,EVENT_CODE.numpadEnter].includes(Bi)&&Ne.value===null&&$e.value===null&&(Ei.preventDefault(),Et(ue.value,!1))},Yi=Ei=>{var Bi;const{up:di,down:Ni,left:Mi,right:ji,home:hn,end:kn,pageUp:xn,pageDown:$n}=EVENT_CODE,Gn={year:{[di]:-4,[Ni]:4,[Mi]:-1,[ji]:1,offset:(bn,Ri)=>bn.setFullYear(bn.getFullYear()+Ri)},month:{[di]:-4,[Ni]:4,[Mi]:-1,[ji]:1,offset:(bn,Ri)=>bn.setMonth(bn.getMonth()+Ri)},week:{[di]:-1,[Ni]:1,[Mi]:-1,[ji]:1,offset:(bn,Ri)=>bn.setDate(bn.getDate()+Ri*7)},date:{[di]:-7,[Ni]:7,[Mi]:-1,[ji]:1,[hn]:bn=>-bn.getDay(),[kn]:bn=>-bn.getDay()+6,[xn]:bn=>-new Date(bn.getFullYear(),bn.getMonth(),0).getDate(),[$n]:bn=>new Date(bn.getFullYear(),bn.getMonth()+1,0).getDate(),offset:(bn,Ri)=>bn.setDate(bn.getDate()+Ri)}},Mn=ue.value.toDate();for(;Math.abs(ue.value.diff(Mn,"year",!0))<1;){const bn=Gn[ti.value];if(!bn)return;if(bn.offset(Mn,isFunction$1(bn[Ei])?bn[Ei](Mn):(Bi=bn[Ei])!=null?Bi:0),oe&&oe(Mn))break;const Ri=dayjs(Mn).locale(z.value);ue.value=Ri,e("pick",Ri,!0);break}},Xi=Ei=>{e("panel-change",ue.value.toDate(),Ei,kt.value)};return watch(()=>jt.value,Ei=>{if(["month","year"].includes(Ei)){kt.value=Ei;return}else if(Ei==="years"){kt.value="year";return}else if(Ei==="months"){kt.value="month";return}kt.value="date"},{immediate:!0}),watch(()=>le.value,Ei=>{Ei&&(ue.value=qi())},{immediate:!0}),watch(()=>t.parsedValue,Ei=>{if(Ei){if(ei.value||isArray$1(Ei))return;ue.value=Ei}else ue.value=qi()},{immediate:!0}),e("set-picker-option",["isValidValue",Ai]),e("set-picker-option",["formatToString",Vi]),e("set-picker-option",["parseUserInput",Hi]),e("set-picker-option",["handleFocusPicker",wn]),(Ei,Bi)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(r).b(),unref(g).b(),unref(r).is("border",Ei.border),unref(r).is("disabled",Ei.disabled),{"has-sidebar":Ei.$slots.sidebar||unref(hi),"has-time":unref(ri)}])},[createBaseVNode("div",{class:normalizeClass(unref(r).e("body-wrapper"))},[renderSlot(Ei.$slots,"sidebar",{class:normalizeClass(unref(r).e("sidebar"))}),unref(hi)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(r).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(ie),(di,Ni)=>(openBlock(),createElementBlock("button",{key:Ni,type:"button",disabled:Ei.disabled,class:normalizeClass(unref(r).e("shortcut")),onClick:Mi=>Dt(di)},toDisplayString(di.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(r).e("body"))},[unref(ri)?(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(Lt),size:"small","validate-event":!1,disabled:Ei.disabled,onInput:di=>Ne.value=di,onChange:xi},null,8,["placeholder","model-value","disabled","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(Pt),size:"small","validate-event":!1,disabled:Ei.disabled,onFocus:ii,onInput:di=>$e.value=di,onChange:Pi},null,8,["placeholder","model-value","disabled","onInput"]),createVNode(unref(TimePickPanel),{visible:At.value,format:unref(si),"parsed-value":ue.value,onPick:Li},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),gi]])],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("div",{class:normalizeClass([unref(g).e("header"),(kt.value==="year"||kt.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")]),disabled:Ei.disabled,onClick:di=>Ve(!1)},[renderSlot(Ei.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["aria-label","disabled","onClick"]),withDirectives(createBaseVNode("button",{type:"button","aria-label":unref(L)("el.datepicker.prevMonth"),class:normalizeClass([unref(r).e("icon-btn"),"arrow-left"]),disabled:Ei.disabled,onClick:di=>qe(!1)},[renderSlot(Ei.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["aria-label","disabled","onClick"]),[[vShow,kt.value==="date"]])],2),createBaseVNode("span",{role:"button",class:normalizeClass(unref(g).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys(di=>pi("year"),["enter"]),onClick:di=>pi("year")},toDisplayString(unref(Ue)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(g).e("header-label"),{active:kt.value==="month"}]),onKeydown:withKeys(di=>pi("month"),["enter"]),onClick:di=>pi("month")},toDisplayString(unref(L)("el.datepicker.month".concat(unref(Ce)+1))),43,["onKeydown","onClick"]),[[vShow,kt.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"]),disabled:Ei.disabled,onClick:di=>qe(!0)},[renderSlot(Ei.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["aria-label","disabled","onClick"]),[[vShow,kt.value==="date"]]),createBaseVNode("button",{type:"button","aria-label":unref(L)("el.datepicker.nextYear"),class:normalizeClass([unref(r).e("icon-btn"),"d-arrow-right"]),disabled:Ei.disabled,onClick:di=>Ve(!0)},[renderSlot(Ei.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["aria-label","disabled","onClick"])],2)],2),[[vShow,kt.value!=="time"]]),createBaseVNode("div",{class:normalizeClass(unref(r).e("content")),onKeydown:zi},[kt.value==="date"?(openBlock(),createBlock(DateTable,{key:0,ref_key:"currentViewRef",ref:de,"selection-mode":unref(jt),date:ue.value,"parsed-value":Ei.parsedValue,"disabled-date":unref(oe),disabled:Ei.disabled,"cell-class-name":unref(re),"show-week-number":Ei.showWeekNumber,onPick:ze},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):createCommentVNode("v-if",!0),kt.value==="year"?(openBlock(),createBlock(YearTable,{key:1,ref_key:"currentViewRef",ref:de,"selection-mode":unref(jt),date:ue.value,"disabled-date":unref(oe),disabled:Ei.disabled,"parsed-value":Ei.parsedValue,"cell-class-name":unref(re),onPick:mi},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):createCommentVNode("v-if",!0),kt.value==="month"?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"currentViewRef",ref:de,"selection-mode":unref(jt),date:ue.value,"parsed-value":Ei.parsedValue,"disabled-date":unref(oe),disabled:Ei.disabled,"cell-class-name":unref(re),onPick:ui},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):createCommentVNode("v-if",!0)],34)],2)],2),Ei.showFooter&&unref(oi)&&unref(bi)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(r).e("footer"))},[withDirectives(createVNode(unref(ElButton),{text:"",size:"small",class:normalizeClass(unref(r).e("link-btn")),disabled:unref(ni),onClick:fi},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(L)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[vShow,!unref(ei)&&Ei.showNow]]),Ei.showConfirm?(openBlock(),createBlock(unref(ElButton),{key:0,plain:"",size:"small",class:normalizeClass(unref(r).e("link-btn")),disabled:unref(Ti),onClick:Si},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(L)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],2))}});var DatePickPanel=_export_sfc$1(_sfc_main$Y,[["__file","panel-date-pick.vue"]]);const panelDateRangeProps=buildProps({...panelSharedProps,...panelRangeSharedProps}),useShortcut=n=>{const{emit:e}=getCurrentInstance$1(),t=useAttrs$1(),i=useSlots();return g=>{const y=isFunction$1(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,defaultTime:t,leftDate:i,rightDate:r,step:g,unit:y,onParsedValueChanged:k})=>{const{emit:L}=getCurrentInstance$1(),{pickerNs:z}=inject(ROOT_PICKER_INJECTION_KEY),V=useNamespace("date-range-picker"),{t:j,lang:ie}=useLocale(),oe=useShortcut(ie),re=ref$1(),ae=ref$1(),le=ref$1({endDate:null,selecting:!1}),de=Ce=>{le.value=Ce},ue=(Ce=!1)=>{const xe=unref(re),Ie=unref(ae);isValidRange([xe,Ie])&&L("pick",[xe,Ie],Ce)},he=Ce=>{le.value.selecting=Ce,Ce||(le.value.endDate=null)},pe=Ce=>{if(isArray$1(Ce)&&Ce.length===2){const[xe,Ie]=Ce;re.value=xe,i.value=xe,ae.value=Ie,k(unref(re),unref(ae))}else _e()},_e=()=>{let[Ce,xe]=getDefaultValue(unref(e),{lang:unref(ie),step:g,unit:y,unlinkPanels:n.unlinkPanels});const Ie=$e=>$e.diff($e.startOf("d"),"ms"),Ne=unref(t);if(Ne){let $e=0,Oe=0;if(isArray$1(Ne)){const[Fe,Et]=Ne.map(dayjs);$e=Ie(Fe),Oe=Ie(Et)}else{const Fe=Ie(dayjs(Ne));$e=Fe,Oe=Fe}Ce=Ce.startOf("d").add($e,"ms"),xe=xe.startOf("d").add(Oe,"ms")}re.value=void 0,ae.value=void 0,i.value=Ce,r.value=xe};return watch(e,Ce=>{Ce&&_e()},{immediate:!0}),watch(()=>n.parsedValue,Ce=>{Ce!=null&&Ce.length||pe(Ce)},{immediate:!0}),watch(()=>n.visible,()=>{n.visible&&pe(n.parsedValue)},{immediate:!0}),{minDate:re,maxDate:ae,rangeState:le,lang:ie,ppNs:z,drpNs:V,handleChangeRange:de,handleRangeConfirm:ue,handleShortcutClick:oe,onSelect:he,onReset:pe,t:j}},usePanelDateRange=(n,e,t,i)=>{const r=ref$1("date"),g=ref$1(),y=ref$1("date"),k=ref$1(),L=inject(PICKER_BASE_INJECTION_KEY),{disabledDate:z}=L.props,{t:V,lang:j}=useLocale(),ie=computed$1(()=>t.value.year()),oe=computed$1(()=>t.value.month()),re=computed$1(()=>i.value.year()),ae=computed$1(()=>i.value.month());function le(Ce,xe){const Ie=V("el.datepicker.year");if(Ce.value==="year"){const Ne=Math.floor(xe.value/10)*10;return Ie?"".concat(Ne," ").concat(Ie," - ").concat(Ne+9," ").concat(Ie):"".concat(Ne," - ").concat(Ne+9)}return"".concat(xe.value," ").concat(Ie)}function de(Ce){Ce==null||Ce.focus()}async function ue(Ce,xe){if(n.disabled)return;const Ie=Ce==="left"?r:y,Ne=Ce==="left"?g:k;Ie.value=xe,await nextTick(),de(Ne.value)}async function he(Ce,xe,Ie){if(n.disabled)return;const Ne=xe==="left",$e=Ne?t:i,Oe=Ne?i:t,Fe=Ne?r:y,Et=Ne?g:k;if(Ce==="year"){const ze=$e.value.year(Ie);$e.value=getValidDateOfYear(ze,j.value,z)}Ce==="month"&&($e.value=getValidDateOfMonth($e.value,$e.value.year(),Ie,j.value,z)),n.unlinkPanels||(Oe.value=xe==="left"?$e.value.add(1,"month"):$e.value.subtract(1,"month")),Fe.value=Ce==="year"?"month":"date",await nextTick(),de(Et.value),pe(Ce)}function pe(Ce){e("panel-change",[t.value.toDate(),i.value.toDate()],Ce)}function _e(Ce,xe,Ie){const Ne=Ie?"add":"subtract";return Ce==="year"?xe[Ne](10,"year"):xe[Ne](1,"year")}return{leftCurrentView:r,rightCurrentView:y,leftCurrentViewRef:g,rightCurrentViewRef:k,leftYear:ie,rightYear:re,leftMonth:oe,rightMonth:ae,leftYearLabel:computed$1(()=>le(r,ie)),rightYearLabel:computed$1(()=>le(y,re)),showLeftPicker:Ce=>ue("left",Ce),showRightPicker:Ce=>ue("right",Ce),handleLeftYearPick:Ce=>he("year","left",Ce),handleRightYearPick:Ce=>he("year","right",Ce),handleLeftMonthPick:Ce=>he("month","left",Ce),handleRightMonthPick:Ce=>he("month","right",Ce),handlePanelChange:pe,adjustDateByView:_e}},unit$2="month",_sfc_main$X=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(PICKER_BASE_INJECTION_KEY),r=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),{disabledDate:g,cellClassName:y,defaultTime:k,clearable:L}=i.props,z=toRef(i.props,"format"),V=toRef(i.props,"shortcuts"),j=toRef(i.props,"defaultValue"),{lang:ie}=useLocale(),oe=ref$1(dayjs().locale(ie.value)),re=ref$1(dayjs().locale(ie.value).add(1,unit$2));let ae=!0;const{minDate:le,maxDate:de,rangeState:ue,ppNs:he,drpNs:pe,handleChangeRange:_e,handleRangeConfirm:Ce,handleShortcutClick:xe,onSelect:Ie,onReset:Ne,t:$e}=useRangePicker(t,{defaultValue:j,defaultTime:k,leftDate:oe,rightDate:re,unit:unit$2,onParsedValueChanged:bn});watch(()=>t.visible,Ri=>{!Ri&&ue.value.selecting&&(Ne(t.parsedValue),Ie(!1))});const Oe=ref$1({min:null,max:null}),Fe=ref$1({min:null,max:null}),{leftCurrentView:Et,rightCurrentView:ze,leftCurrentViewRef:qe,rightCurrentViewRef:Ve,leftYear:kt,rightYear:Ue,leftMonth:Dt,rightMonth:jt,leftYearLabel:ei,rightYearLabel:ti,showLeftPicker:hi,showRightPicker:ui,handleLeftYearPick:mi,handleRightYearPick:pi,handleLeftMonthPick:ri,handleRightMonthPick:oi,handlePanelChange:bi,adjustDateByView:Ti}=usePanelDateRange(t,e,oe,re),Si=computed$1(()=>!!V.value.length),ni=computed$1(()=>Oe.value.min!==null?Oe.value.min:le.value?le.value.format(Lt.value):""),fi=computed$1(()=>Oe.value.max!==null?Oe.value.max:de.value||le.value?(de.value||le.value).format(Lt.value):""),si=computed$1(()=>Fe.value.min!==null?Fe.value.min:le.value?le.value.format(Pt.value):""),_i=computed$1(()=>Fe.value.max!==null?Fe.value.max:de.value||le.value?(de.value||le.value).format(Pt.value):""),Pt=computed$1(()=>t.timeFormat||extractTimeFormat(z.value||"")||DEFAULT_FORMATS_TIME),Lt=computed$1(()=>t.dateFormat||extractDateFormat(z.value||"")||DEFAULT_FORMATS_DATE),At=Ri=>isValidRange(Ri)&&(g?!g(Ri[0].toDate())&&!g(Ri[1].toDate()):!0),ii=()=>{oe.value=Ti(Et.value,oe.value,!1),t.unlinkPanels||(re.value=oe.value.add(1,"month")),bi("year")},gi=()=>{oe.value=oe.value.subtract(1,"month"),t.unlinkPanels||(re.value=oe.value.add(1,"month")),bi("month")},yi=()=>{t.unlinkPanels?re.value=Ti(ze.value,re.value,!0):(oe.value=Ti(ze.value,oe.value,!0),re.value=oe.value.add(1,"month")),bi("year")},Li=()=>{t.unlinkPanels?re.value=re.value.add(1,"month"):(oe.value=oe.value.add(1,"month"),re.value=oe.value.add(1,"month")),bi("month")},Pi=()=>{oe.value=Ti(Et.value,oe.value,!0),bi("year")},xi=()=>{oe.value=oe.value.add(1,"month"),bi("month")},Ai=()=>{re.value=Ti(ze.value,re.value,!1),bi("year")},Vi=()=>{re.value=re.value.subtract(1,"month"),bi("month")},Hi=computed$1(()=>{const Ri=(Dt.value+1)%12,li=Dt.value+1>=12?1:0;return t.unlinkPanels&&new Date(kt.value+li,Ri)t.unlinkPanels&&Ue.value*12+jt.value-(kt.value*12+Dt.value+1)>=12),Sn=computed$1(()=>!(le.value&&de.value&&!ue.value.selecting&&isValidRange([le.value,de.value]))),wn=computed$1(()=>t.type==="datetime"||t.type==="datetimerange"),zi=(Ri,li)=>{if(Ri)return k?dayjs(k[li]||k).locale(ie.value).year(Ri.year()).month(Ri.month()).date(Ri.date()):Ri},Yi=(Ri,li=!0)=>{const ai=Ri.minDate,vi=Ri.maxDate,wi=zi(ai,0),ki=zi(vi,1);de.value===ki&&le.value===wi||(e("calendar-change",[ai.toDate(),vi&&vi.toDate()]),de.value=ki,le.value=wi,!wn.value&&li&&(li=!wi||!ki),ae=li)};watch([de,le],([Ri,li])=>{Ri&&li&&(Ce(ae),ae=!0)});const Xi=ref$1(!1),Ei=ref$1(!1),Bi=()=>{Xi.value=!1},di=()=>{Ei.value=!1},Ni=(Ri,li)=>{Oe.value[li]=Ri;const ai=dayjs(Ri,Lt.value).locale(ie.value);if(ai.isValid()){if(g&&g(ai.toDate()))return;li==="min"?(oe.value=ai,le.value=(le.value||oe.value).year(ai.year()).month(ai.month()).date(ai.date()),!t.unlinkPanels&&(!de.value||de.value.isBefore(le.value))&&(re.value=ai.add(1,"month"),de.value=le.value.add(1,"month"))):(re.value=ai,de.value=(de.value||re.value).year(ai.year()).month(ai.month()).date(ai.date()),!t.unlinkPanels&&(!le.value||le.value.isAfter(de.value))&&(oe.value=ai.subtract(1,"month"),le.value=de.value.subtract(1,"month")))}},Mi=(Ri,li)=>{Oe.value[li]=null},ji=(Ri,li)=>{Fe.value[li]=Ri;const ai=dayjs(Ri,Pt.value).locale(ie.value);ai.isValid()&&(li==="min"?(Xi.value=!0,le.value=(le.value||oe.value).hour(ai.hour()).minute(ai.minute()).second(ai.second())):(Ei.value=!0,de.value=(de.value||re.value).hour(ai.hour()).minute(ai.minute()).second(ai.second()),re.value=de.value))},hn=(Ri,li)=>{Fe.value[li]=null,li==="min"?(oe.value=le.value,Xi.value=!1,(!de.value||de.value.isBefore(le.value))&&(de.value=le.value)):(re.value=de.value,Ei.value=!1,de.value&&de.value.isBefore(le.value)&&(le.value=de.value))},kn=(Ri,li,ai)=>{Fe.value.min||(Ri&&(oe.value=Ri,le.value=(le.value||oe.value).hour(Ri.hour()).minute(Ri.minute()).second(Ri.second())),ai||(Xi.value=li),(!de.value||de.value.isBefore(le.value))&&(de.value=le.value,re.value=Ri,nextTick(()=>{Ne(t.parsedValue)})))},xn=(Ri,li,ai)=>{Fe.value.max||(Ri&&(re.value=Ri,de.value=(de.value||re.value).hour(Ri.hour()).minute(Ri.minute()).second(Ri.second())),ai||(Ei.value=li),de.value&&de.value.isBefore(le.value)&&(le.value=de.value))},$n=()=>{oe.value=getDefaultValue(unref(j),{lang:unref(ie),unit:"month",unlinkPanels:t.unlinkPanels})[0],re.value=oe.value.add(1,"month"),de.value=void 0,le.value=void 0,e("pick",null)},Gn=Ri=>isArray$1(Ri)?Ri.map(li=>li.format(z.value)):Ri.format(z.value),Mn=Ri=>correctlyParseUserInput(Ri,z.value||"",ie.value,r);function bn(Ri,li){if(t.unlinkPanels&&li){const ai=(Ri==null?void 0:Ri.year())||0,vi=(Ri==null?void 0:Ri.month())||0,wi=li.year(),ki=li.month();re.value=ai===wi&&vi===ki?li.add(1,unit$2):li}else re.value=oe.value.add(1,unit$2),li&&(re.value=re.value.hour(li.hour()).minute(li.minute()).second(li.second()))}return e("set-picker-option",["isValidValue",At]),e("set-picker-option",["parseUserInput",Mn]),e("set-picker-option",["formatToString",Gn]),e("set-picker-option",["handleClear",$n]),(Ri,li)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(he).b(),unref(pe).b(),unref(he).is("border",Ri.border),unref(he).is("disabled",Ri.disabled),{"has-sidebar":Ri.$slots.sidebar||unref(Si),"has-time":unref(wn)}])},[createBaseVNode("div",{class:normalizeClass(unref(he).e("body-wrapper"))},[renderSlot(Ri.$slots,"sidebar",{class:normalizeClass(unref(he).e("sidebar"))}),unref(Si)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(he).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(V),(ai,vi)=>(openBlock(),createElementBlock("button",{key:vi,type:"button",disabled:Ri.disabled,class:normalizeClass(unref(he).e("shortcut")),onClick:wi=>unref(xe)(ai)},toDisplayString(ai.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(he).e("body"))},[unref(wn)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(pe).e("time-header"))},[createBaseVNode("span",{class:normalizeClass(unref(pe).e("editors-wrap"))},[createBaseVNode("span",{class:normalizeClass(unref(pe).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",disabled:unref(ue).selecting||Ri.disabled,placeholder:unref($e)("el.datepicker.startDate"),class:normalizeClass(unref(pe).e("editor")),"model-value":unref(ni),"validate-event":!1,onInput:ai=>Ni(ai,"min"),onChange:ai=>Mi(ai,"min")},null,8,["disabled","placeholder","class","model-value","onInput","onChange"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(pe).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(pe).e("editor")),disabled:unref(ue).selecting||Ri.disabled,placeholder:unref($e)("el.datepicker.startTime"),"model-value":unref(si),"validate-event":!1,onFocus:ai=>Xi.value=!0,onInput:ai=>ji(ai,"min"),onChange:ai=>hn(ai,"min")},null,8,["class","disabled","placeholder","model-value","onFocus","onInput","onChange"]),createVNode(unref(TimePickPanel),{visible:Xi.value,format:unref(Pt),"datetime-role":"start","parsed-value":oe.value,onPick:kn},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),Bi]])],2),createBaseVNode("span",null,[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})]),createBaseVNode("span",{class:normalizeClass([unref(pe).e("editors-wrap"),"is-right"])},[createBaseVNode("span",{class:normalizeClass(unref(pe).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(pe).e("editor")),disabled:unref(ue).selecting||Ri.disabled,placeholder:unref($e)("el.datepicker.endDate"),"model-value":unref(fi),readonly:!unref(le),"validate-event":!1,onInput:ai=>Ni(ai,"max"),onChange:ai=>Mi(ai,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onInput","onChange"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(pe).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(pe).e("editor")),disabled:unref(ue).selecting||Ri.disabled,placeholder:unref($e)("el.datepicker.endTime"),"model-value":unref(_i),readonly:!unref(le),"validate-event":!1,onFocus:ai=>unref(le)&&(Ei.value=!0),onInput:ai=>ji(ai,"max"),onChange:ai=>hn(ai,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onFocus","onInput","onChange"]),createVNode(unref(TimePickPanel),{"datetime-role":"end",visible:Ei.value,format:unref(Pt),"parsed-value":re.value,onPick:xn},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),di]])],2)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([[unref(he).e("content"),unref(pe).e("content")],"is-left"])},[createBaseVNode("div",{class:normalizeClass(unref(pe).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(he).e("icon-btn"),"d-arrow-left"]),"aria-label":unref($e)("el.datepicker.prevYear"),disabled:Ri.disabled,onClick:ii},[renderSlot(Ri.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["aria-label","disabled"]),withDirectives(createBaseVNode("button",{type:"button",class:normalizeClass([unref(he).e("icon-btn"),"arrow-left"]),"aria-label":unref($e)("el.datepicker.prevMonth"),disabled:Ri.disabled,onClick:gi},[renderSlot(Ri.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["aria-label","disabled"]),[[vShow,unref(Et)==="date"]]),Ri.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(qi)||Ri.disabled,class:normalizeClass([[unref(he).e("icon-btn"),unref(he).is("disabled",!unref(qi)||Ri.disabled)],"d-arrow-right"]),"aria-label":unref($e)("el.datepicker.nextYear"),onClick:Pi},[renderSlot(Ri.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),Ri.unlinkPanels&&unref(Et)==="date"?(openBlock(),createElementBlock("button",{key:1,type:"button",disabled:!unref(Hi)||Ri.disabled,class:normalizeClass([[unref(he).e("icon-btn"),unref(he).is("disabled",!unref(Hi)||Ri.disabled)],"arrow-right"]),"aria-label":unref($e)("el.datepicker.nextMonth"),onClick:xi},[renderSlot(Ri.$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,[createBaseVNode("span",{role:"button",class:normalizeClass(unref(pe).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys(ai=>unref(hi)("year"),["enter"]),onClick:ai=>unref(hi)("year")},toDisplayString(unref(ei)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(pe).e("header-label"),{active:unref(Et)==="month"}]),onKeydown:withKeys(ai=>unref(hi)("month"),["enter"]),onClick:ai=>unref(hi)("month")},toDisplayString(unref($e)("el.datepicker.month".concat(oe.value.month()+1))),43,["onKeydown","onClick"]),[[vShow,unref(Et)==="date"]])])],2),unref(Et)==="date"?(openBlock(),createBlock(DateTable,{key:0,ref_key:"leftCurrentViewRef",ref:qe,"selection-mode":"range",date:oe.value,"min-date":unref(le),"max-date":unref(de),"range-state":unref(ue),"disabled-date":unref(g),"cell-class-name":unref(y),"show-week-number":Ri.showWeekNumber,disabled:Ri.disabled,onChangerange:unref(_e),onPick:Yi,onSelect:unref(Ie)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):createCommentVNode("v-if",!0),unref(Et)==="year"?(openBlock(),createBlock(YearTable,{key:1,ref_key:"leftCurrentViewRef",ref:qe,"selection-mode":"year",date:oe.value,"disabled-date":unref(g),"parsed-value":Ri.parsedValue,disabled:Ri.disabled,onPick:unref(mi)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):createCommentVNode("v-if",!0),unref(Et)==="month"?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"leftCurrentViewRef",ref:qe,"selection-mode":"month",date:oe.value,"parsed-value":Ri.parsedValue,"disabled-date":unref(g),disabled:Ri.disabled,onPick:unref(ri)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{class:normalizeClass([[unref(he).e("content"),unref(pe).e("content")],"is-right"])},[createBaseVNode("div",{class:normalizeClass([unref(pe).e("header"),unref(he).is("disabled",!unref(qi)||Ri.disabled)])},[Ri.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(qi)||Ri.disabled,class:normalizeClass([unref(he).e("icon-btn"),"d-arrow-left"]),"aria-label":unref($e)("el.datepicker.prevYear"),onClick:Ai},[renderSlot(Ri.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),Ri.unlinkPanels&&unref(ze)==="date"?(openBlock(),createElementBlock("button",{key:1,type:"button",disabled:!unref(Hi)||Ri.disabled,class:normalizeClass([unref(he).e("icon-btn"),"arrow-left"]),"aria-label":unref($e)("el.datepicker.prevMonth"),onClick:Vi},[renderSlot(Ri.$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($e)("el.datepicker.nextYear"),class:normalizeClass([unref(he).e("icon-btn"),"d-arrow-right"]),disabled:Ri.disabled,onClick:yi},[renderSlot(Ri.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["aria-label","disabled"]),withDirectives(createBaseVNode("button",{type:"button",class:normalizeClass([unref(he).e("icon-btn"),"arrow-right"]),disabled:Ri.disabled,"aria-label":unref($e)("el.datepicker.nextMonth"),onClick:Li},[renderSlot(Ri.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["disabled","aria-label"]),[[vShow,unref(ze)==="date"]]),createBaseVNode("div",null,[createBaseVNode("span",{role:"button",class:normalizeClass(unref(pe).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys(ai=>unref(ui)("year"),["enter"]),onClick:ai=>unref(ui)("year")},toDisplayString(unref(ti)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(pe).e("header-label"),{active:unref(ze)==="month"}]),onKeydown:withKeys(ai=>unref(ui)("month"),["enter"]),onClick:ai=>unref(ui)("month")},toDisplayString(unref($e)("el.datepicker.month".concat(re.value.month()+1))),43,["onKeydown","onClick"]),[[vShow,unref(ze)==="date"]])])],2),unref(ze)==="date"?(openBlock(),createBlock(DateTable,{key:0,ref_key:"rightCurrentViewRef",ref:Ve,"selection-mode":"range",date:re.value,"min-date":unref(le),"max-date":unref(de),"range-state":unref(ue),"disabled-date":unref(g),"cell-class-name":unref(y),"show-week-number":Ri.showWeekNumber,disabled:Ri.disabled,onChangerange:unref(_e),onPick:Yi,onSelect:unref(Ie)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):createCommentVNode("v-if",!0),unref(ze)==="year"?(openBlock(),createBlock(YearTable,{key:1,ref_key:"rightCurrentViewRef",ref:Ve,"selection-mode":"year",date:re.value,"disabled-date":unref(g),"parsed-value":Ri.parsedValue,disabled:Ri.disabled,onPick:unref(pi)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):createCommentVNode("v-if",!0),unref(ze)==="month"?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"rightCurrentViewRef",ref:Ve,"selection-mode":"month",date:re.value,"parsed-value":Ri.parsedValue,"disabled-date":unref(g),disabled:Ri.disabled,onPick:unref(oi)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):createCommentVNode("v-if",!0)],2)],2)],2),Ri.showFooter&&unref(wn)&&(Ri.showConfirm||unref(L))?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(he).e("footer"))},[unref(L)?(openBlock(),createBlock(unref(ElButton),{key:0,text:"",size:"small",class:normalizeClass(unref(he).e("link-btn")),onClick:$n},{default:withCtx(()=>[createTextVNode(toDisplayString(unref($e)("el.datepicker.clear")),1)]),_:1},8,["class"])):createCommentVNode("v-if",!0),Ri.showConfirm?(openBlock(),createBlock(unref(ElButton),{key:1,plain:"",size:"small",class:normalizeClass(unref(he).e("link-btn")),disabled:unref(Sn),onClick:ai=>unref(Ce)(!1)},{default:withCtx(()=>[createTextVNode(toDisplayString(unref($e)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled","onClick"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],2))}});var DateRangePickPanel=_export_sfc$1(_sfc_main$X,[["__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"))),z=computed$1(()=>"".concat(t.value.year()," ").concat(i("el.datepicker.year"))),V=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:z,leftYear:V,rightYear:j}},unit$1="year",__default__$v=defineComponent({name:"DatePickerMonthRange"}),_sfc_main$W=defineComponent({...__default__$v,props:panelMonthRangeProps,emits:panelMonthRangeEmits,setup(n,{emit:e}){const t=n,{lang:i}=useLocale(),r=inject(PICKER_BASE_INJECTION_KEY),g=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),{shortcuts:y,disabledDate:k,cellClassName:L}=r.props,z=toRef(r.props,"format"),V=toRef(r.props,"defaultValue"),j=ref$1(dayjs().locale(i.value)),ie=ref$1(dayjs().locale(i.value).add(1,unit$1)),{minDate:oe,maxDate:re,rangeState:ae,ppNs:le,drpNs:de,handleChangeRange:ue,handleRangeConfirm:he,handleShortcutClick:pe,onSelect:_e,onReset:Ce}=useRangePicker(t,{defaultValue:V,leftDate:j,rightDate:ie,unit:unit$1,onParsedValueChanged:ei}),xe=computed$1(()=>!!y.length),{leftPrevYear:Ie,rightNextYear:Ne,leftNextYear:$e,rightPrevYear:Oe,leftLabel:Fe,rightLabel:Et,leftYear:ze,rightYear:qe}=useMonthRangeHeader({unlinkPanels:toRef(t,"unlinkPanels"),leftDate:j,rightDate:ie}),Ve=computed$1(()=>t.unlinkPanels&&qe.value>ze.value+1),kt=(ti,hi=!0)=>{const ui=ti.minDate,mi=ti.maxDate;re.value===mi&&oe.value===ui||(e("calendar-change",[ui.toDate(),mi&&mi.toDate()]),re.value=mi,oe.value=ui,hi&&he())},Ue=()=>{j.value=getDefaultValue(unref(V),{lang:unref(i),unit:"year",unlinkPanels:t.unlinkPanels})[0],ie.value=j.value.add(1,"year"),e("pick",null)},Dt=ti=>isArray$1(ti)?ti.map(hi=>hi.format(z.value)):ti.format(z.value),jt=ti=>correctlyParseUserInput(ti,z.value,i.value,g);function ei(ti,hi){if(t.unlinkPanels&&hi){const ui=(ti==null?void 0:ti.year())||0,mi=hi.year();ie.value=ui===mi?hi.add(1,unit$1):hi}else ie.value=j.value.add(1,unit$1)}return watch(()=>t.visible,ti=>{!ti&&ae.value.selecting&&(Ce(t.parsedValue),_e(!1))}),e("set-picker-option",["isValidValue",isValidRange]),e("set-picker-option",["formatToString",Dt]),e("set-picker-option",["parseUserInput",jt]),e("set-picker-option",["handleClear",Ue]),(ti,hi)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(le).b(),unref(de).b(),unref(le).is("border",ti.border),unref(le).is("disabled",ti.disabled),{"has-sidebar":!!ti.$slots.sidebar||unref(xe)}])},[createBaseVNode("div",{class:normalizeClass(unref(le).e("body-wrapper"))},[renderSlot(ti.$slots,"sidebar",{class:normalizeClass(unref(le).e("sidebar"))}),unref(xe)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(le).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(y),(ui,mi)=>(openBlock(),createElementBlock("button",{key:mi,type:"button",class:normalizeClass(unref(le).e("shortcut")),disabled:ti.disabled,onClick:pi=>unref(pe)(ui)},toDisplayString(ui.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(le).e("body"))},[createBaseVNode("div",{class:normalizeClass([[unref(le).e("content"),unref(de).e("content")],"is-left"])},[createBaseVNode("div",{class:normalizeClass(unref(de).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(le).e("icon-btn"),"d-arrow-left"]),disabled:ti.disabled,onClick:unref(Ie)},[renderSlot(ti.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"]),ti.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Ve)||ti.disabled,class:normalizeClass([[unref(le).e("icon-btn"),{[unref(le).is("disabled")]:!unref(Ve)}],"d-arrow-right"]),onClick:unref($e)},[renderSlot(ti.$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(Fe)),1)],2),createVNode(MonthTable,{"selection-mode":"range",date:j.value,"min-date":unref(oe),"max-date":unref(re),"range-state":unref(ae),"disabled-date":unref(k),disabled:ti.disabled,"cell-class-name":unref(L),onChangerange:unref(ue),onPick:kt,onSelect:unref(_e)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),createBaseVNode("div",{class:normalizeClass([[unref(le).e("content"),unref(de).e("content")],"is-right"])},[createBaseVNode("div",{class:normalizeClass(unref(de).e("header"))},[ti.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Ve)||ti.disabled,class:normalizeClass([[unref(le).e("icon-btn"),{"is-disabled":!unref(Ve)}],"d-arrow-left"]),onClick:unref(Oe)},[renderSlot(ti.$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(le).e("icon-btn"),"d-arrow-right"]),disabled:ti.disabled,onClick:unref(Ne)},[renderSlot(ti.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"]),createBaseVNode("div",null,toDisplayString(unref(Et)),1)],2),createVNode(MonthTable,{"selection-mode":"range",date:ie.value,"min-date":unref(oe),"max-date":unref(re),"range-state":unref(ae),"disabled-date":unref(k),disabled:ti.disabled,"cell-class-name":unref(L),onChangerange:unref(ue),onPick:kt,onSelect:unref(_e)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}});var MonthRangePickPanel=_export_sfc$1(_sfc_main$W,[["__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)}),z=computed$1(()=>Math.floor(e.value.year()/10)*10+9),V=computed$1(()=>Math.floor(t.value.year()/10)*10);return{leftPrevYear:i,rightNextYear:r,leftNextYear:g,rightPrevYear:y,leftLabel:k,rightLabel:L,leftYear:z,rightYear:V}},step=10,unit="year",__default__$u=defineComponent({name:"DatePickerYearRange"}),_sfc_main$V=defineComponent({...__default__$u,props:panelYearRangeProps,emits:panelYearRangeEmits,setup(n,{emit:e}){const t=n,{lang:i}=useLocale(),r=ref$1(dayjs().locale(i.value)),g=ref$1(dayjs().locale(i.value).add(step,unit)),y=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),k=inject(PICKER_BASE_INJECTION_KEY),{shortcuts:L,disabledDate:z,cellClassName:V}=k.props,j=toRef(k.props,"format"),ie=toRef(k.props,"defaultValue"),{minDate:oe,maxDate:re,rangeState:ae,ppNs:le,drpNs:de,handleChangeRange:ue,handleRangeConfirm:he,handleShortcutClick:pe,onSelect:_e,onReset:Ce}=useRangePicker(t,{defaultValue:ie,leftDate:r,rightDate:g,step,unit,onParsedValueChanged:mi}),{leftPrevYear:xe,rightNextYear:Ie,leftNextYear:Ne,rightPrevYear:$e,leftLabel:Oe,rightLabel:Fe,leftYear:Et,rightYear:ze}=useYearRangeHeader({unlinkPanels:toRef(t,"unlinkPanels"),leftDate:r,rightDate:g}),qe=computed$1(()=>!!L.length),Ve=computed$1(()=>[le.b(),de.b(),le.is("border",t.border),le.is("disabled",t.disabled),{"has-sidebar":!!useSlots().sidebar||qe.value}]),kt=computed$1(()=>({content:[le.e("content"),de.e("content"),"is-left"],arrowLeftBtn:[le.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[le.e("icon-btn"),{[le.is("disabled")]:!Dt.value},"d-arrow-right"]})),Ue=computed$1(()=>({content:[le.e("content"),de.e("content"),"is-right"],arrowLeftBtn:[le.e("icon-btn"),{"is-disabled":!Dt.value},"d-arrow-left"],arrowRightBtn:[le.e("icon-btn"),"d-arrow-right"]})),Dt=computed$1(()=>t.unlinkPanels&&ze.value>Et.value+1),jt=(pi,ri=!0)=>{const oi=pi.minDate,bi=pi.maxDate;re.value===bi&&oe.value===oi||(e("calendar-change",[oi.toDate(),bi&&bi.toDate()]),re.value=bi,oe.value=oi,ri&&he())},ei=pi=>correctlyParseUserInput(pi,j.value,i.value,y),ti=pi=>isArray$1(pi)?pi.map(ri=>ri.format(j.value)):pi.format(j.value),hi=pi=>isValidRange(pi)&&(z?!z(pi[0].toDate())&&!z(pi[1].toDate()):!0),ui=()=>{const pi=getDefaultValue(unref(ie),{lang:unref(i),step,unit,unlinkPanels:t.unlinkPanels});r.value=pi[0],g.value=pi[1],e("pick",null)};function mi(pi,ri){if(t.unlinkPanels&&ri){const oi=(pi==null?void 0:pi.year())||0,bi=ri.year();g.value=oi+step>bi?ri.add(step,unit):ri}else g.value=r.value.add(step,unit)}return watch(()=>t.visible,pi=>{!pi&&ae.value.selecting&&(Ce(t.parsedValue),_e(!1))}),e("set-picker-option",["isValidValue",hi]),e("set-picker-option",["parseUserInput",ei]),e("set-picker-option",["formatToString",ti]),e("set-picker-option",["handleClear",ui]),(pi,ri)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(Ve))},[createBaseVNode("div",{class:normalizeClass(unref(le).e("body-wrapper"))},[renderSlot(pi.$slots,"sidebar",{class:normalizeClass(unref(le).e("sidebar"))}),unref(qe)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(le).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(L),(oi,bi)=>(openBlock(),createElementBlock("button",{key:bi,type:"button",class:normalizeClass(unref(le).e("shortcut")),disabled:pi.disabled,onClick:Ti=>unref(pe)(oi)},toDisplayString(oi.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(le).e("body"))},[createBaseVNode("div",{class:normalizeClass(unref(kt).content)},[createBaseVNode("div",{class:normalizeClass(unref(de).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass(unref(kt).arrowLeftBtn),disabled:pi.disabled,onClick:unref(xe)},[renderSlot(pi.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"]),pi.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Dt)||pi.disabled,class:normalizeClass(unref(kt).arrowRightBtn),onClick:unref(Ne)},[renderSlot(pi.$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(Oe)),1)],2),createVNode(YearTable,{"selection-mode":"range",date:r.value,"min-date":unref(oe),"max-date":unref(re),"range-state":unref(ae),"disabled-date":unref(z),disabled:pi.disabled,"cell-class-name":unref(V),onChangerange:unref(ue),onPick:jt,onSelect:unref(_e)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),createBaseVNode("div",{class:normalizeClass(unref(Ue).content)},[createBaseVNode("div",{class:normalizeClass(unref(de).e("header"))},[pi.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Dt)||pi.disabled,class:normalizeClass(unref(Ue).arrowLeftBtn),onClick:unref($e)},[renderSlot(pi.$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(Ue).arrowRightBtn),disabled:pi.disabled,onClick:unref(Ie)},[renderSlot(pi.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"]),createBaseVNode("div",null,toDisplayString(unref(Fe)),1)],2),createVNode(YearTable,{"selection-mode":"range",date:g.value,"min-date":unref(oe),"max-date":unref(re),"range-state":unref(ae),"disabled-date":unref(z),disabled:pi.disabled,"cell-class-name":unref(V),onChangerange:unref(ue),onPick:jt,onSelect:unref(_e)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}});var YearRangePickPanel=_export_sfc$1(_sfc_main$V,[["__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}};function _isSlot$1(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!isVNode(n)}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 DatePickerPanel=defineComponent({name:"ElDatePickerPanel",install:null,props:datePickerPanelProps,emits:[UPDATE_MODEL_EVENT,"calendar-change","panel-change","visible-change","pick"],setup(n,{slots:e,emit:t}){const i=useNamespace("picker-panel"),r=inject(PICKER_BASE_INJECTION_KEY,void 0);if(isUndefined(r)){const V=reactive$1({...toRefs(n)});provide(PICKER_BASE_INJECTION_KEY,{props:V})}provide(ROOT_PICKER_INJECTION_KEY,{slots:e,pickerNs:i});const{parsedValue:g,onCalendarChange:y,onPanelChange:k,onSetPickerOption:L,onPick:z}=inject(ROOT_COMMON_PICKER_INJECTION_KEY,()=>useCommonPicker(n,t),!0);return()=>{const V=getPanel(n.type);return createVNode(V,mergeProps(n,{parsedValue:g.value,"onSet-picker-option":L,"onCalendar-change":y,"onPanel-change":k,onPick:z}),_isSlot$1(e)?e:{default:()=>[e]})}}});const ElDatePickerPanel=withInstall(DatePickerPanel),datePickerProps=buildProps({...timePickerDefaultProps,type:{type:definePropType(String),default:"date"}});function _isSlot(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!isVNode(n)}var DatePicker=defineComponent({name:"ElDatePicker",install:null,props:datePickerProps,emits:[UPDATE_MODEL_EVENT],setup(n,{expose:e,emit:t,slots:i}){const r=computed$1(()=>!n.format);provide(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,r),provide(PICKER_POPPER_OPTIONS_INJECTION_KEY,reactive$1(toRef(n,"popperOptions")));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_MODEL_EVENT,L)};return()=>{var L;const z=(L=n.format)!=null?L:DEFAULT_FORMATS_DATEPICKER[n.type]||DEFAULT_FORMATS_DATE;return createVNode(CommonPicker,mergeProps(n,{format:z,type:n.type,ref:g,"onUpdate:modelValue":k}),{default:V=>createVNode(ElDatePickerPanel,mergeProps({border:!1},V),_isSlot(i)?i:{default:()=>[i]}),"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$2("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"),DEFAULT_DIALOG_TRANSITION="dialog-fade",dialogContentProps=buildProps({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:iconPropType},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},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)=>{const r={offsetX:0,offsetY:0},g=ref$1(!1),y=(ie,oe)=>{if(n.value){const{offsetX:re,offsetY:ae}=r,le=n.value.getBoundingClientRect(),de=le.left,ue=le.top,he=le.width,pe=le.height,_e=document.documentElement.clientWidth,Ce=document.documentElement.clientHeight,xe=-de+re,Ie=-ue+ae,Ne=_e-de-he+re,$e=Ce-ue-(pe{const oe=ie.clientX,re=ie.clientY,{offsetX:ae,offsetY:le}=r,de=he=>{g.value||(g.value=!0);const pe=ae+he.clientX-oe,_e=le+he.clientY-re;y(pe,_e)},ue=()=>{g.value=!1,document.removeEventListener("mousemove",de),document.removeEventListener("mouseup",ue)};document.addEventListener("mousemove",de),document.addEventListener("mouseup",ue)},L=()=>{e.value&&n.value&&(e.value.addEventListener("mousedown",k),window.addEventListener("resize",j))},z=()=>{e.value&&n.value&&(e.value.removeEventListener("mousedown",k),window.removeEventListener("resize",j))},V=()=>{r.offsetX=0,r.offsetY=0,n.value&&(n.value.style.transform="")},j=()=>{const{offsetX:ie,offsetY:oe}=r;y(ie,oe)};return onMounted(()=>{watchEffect(()=>{t.value?L():z()})}),onBeforeUnmount(()=>{z()}),{isDragging:g,resetPosition:V,updatePosition:j}},composeRefs=(...n)=>e=>{n.forEach(t=>{isFunction$1(t)?t(e):t.value=e})},__default__$t=defineComponent({name:"ElDialogContent"}),_sfc_main$U=defineComponent({...__default__$t,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:z}=inject(dialogInjectionKey),{focusTrapRef:V}=inject(FOCUS_TRAP_INJECTION_KEY),j=composeRefs(V,g),ie=computed$1(()=>!!t.draggable),oe=computed$1(()=>!!t.overflow),{resetPosition:re,updatePosition:ae,isDragging:le}=useDraggable(g,y,ie,oe),de=computed$1(()=>[L.b(),L.is("fullscreen",t.fullscreen),L.is("draggable",ie.value),L.is("dragging",le.value),L.is("align-center",!!t.alignCenter),{[L.m("center")]:t.center}]);return e({resetPosition:re,updatePosition:ae}),(ue,he)=>(openBlock(),createElementBlock("div",{ref:unref(j),class:normalizeClass(unref(de)),style:normalizeStyle(unref(z)),tabindex:"-1"},[createBaseVNode("header",{ref_key:"headerRef",ref:y,class:normalizeClass([unref(L).e("header"),ue.headerClass,{"show-close":ue.showClose}])},[renderSlot(ue.$slots,"header",{},()=>[createBaseVNode("span",{role:"heading","aria-level":ue.ariaLevel,class:normalizeClass(unref(L).e("title"))},toDisplayString(ue.title),11,["aria-level"])]),ue.showClose?(openBlock(),createElementBlock("button",{key:0,"aria-label":unref(i)("el.dialog.close"),class:normalizeClass(unref(L).e("headerbtn")),type:"button",onClick:pe=>ue.$emit("close")},[createVNode(unref(ElIcon),{class:normalizeClass(unref(L).e("close"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(ue.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"),ue.bodyClass])},[renderSlot(ue.$slots,"default")],10,["id"]),ue.$slots.footer?(openBlock(),createElementBlock("footer",{key:0,class:normalizeClass([unref(L).e("footer"),ue.footerClass])},[renderSlot(ue.$slots,"footer")],2)):createCommentVNode("v-if",!0)],6))}});var ElDialogContent=_export_sfc$1(_sfc_main$U,[["__file","dialog-content.vue"]]);const dialogProps=buildProps({...dialogContentProps,appendToBody:Boolean,appendTo:{type:teleportProps.to.type,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},modalPenetrable:Boolean,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"},transition:{type:definePropType([String,Object]),default:void 0}}),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 z=document.documentElement.clientHeight0&&(z||V==="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(),z=ref$1(!1),V=ref$1(!1),j=ref$1(!1),ie=ref$1((t=n.zIndex)!=null?t:g());let oe,re;const ae=useGlobalConfig(),le=computed$1(()=>{var ei,ti;return(ti=(ei=ae.value)==null?void 0:ei.namespace)!=null?ti:defaultNamespace}),de=computed$1(()=>{var ei;return(ei=ae.value)==null?void 0:ei.dialog}),ue=computed$1(()=>{const ei={},ti="--".concat(le.value,"-dialog");return n.fullscreen||(n.top&&(ei["".concat(ti,"-margin-top")]=n.top),n.width&&(ei["".concat(ti,"-width")]=addUnit(n.width))),ei}),he=computed$1(()=>{var ei,ti,hi;return((hi=(ti=n.draggable)!=null?ti:(ei=de.value)==null?void 0:ei.draggable)!=null?hi:!1)&&!n.fullscreen}),pe=computed$1(()=>{var ei,ti,hi;return(hi=(ti=n.alignCenter)!=null?ti:(ei=de.value)==null?void 0:ei.alignCenter)!=null?hi:!1}),_e=computed$1(()=>{var ei,ti,hi;return(hi=(ti=n.overflow)!=null?ti:(ei=de.value)==null?void 0:ei.overflow)!=null?hi:!1}),Ce=computed$1(()=>pe.value?{display:"flex"}:{}),xe=computed$1(()=>{var ei,ti,hi;const ui=(hi=(ti=n.transition)!=null?ti:(ei=de.value)==null?void 0:ei.transition)!=null?hi:DEFAULT_DIALOG_TRANSITION,mi={name:ui,onAfterEnter:Ie,onBeforeLeave:$e,onAfterLeave:Ne};if(isObject(ui)){const pi={...ui},ri=(oi,bi)=>Ti=>{isArray$1(oi)?oi.forEach(Si=>{isFunction$1(Si)&&Si(Ti)}):isFunction$1(oi)&&oi(Ti),bi()};return pi.onAfterEnter=ri(pi.onAfterEnter,Ie),pi.onBeforeLeave=ri(pi.onBeforeLeave,$e),pi.onAfterLeave=ri(pi.onAfterLeave,Ne),pi.name||(pi.name=DEFAULT_DIALOG_TRANSITION),pi}return mi});function Ie(){r("opened")}function Ne(){r("closed"),r(UPDATE_MODEL_EVENT,!1),n.destroyOnClose&&(j.value=!1)}function $e(){r("close")}function Oe(){re==null||re(),oe==null||oe(),n.openDelay&&n.openDelay>0?{stop:oe}=useTimeoutFn(()=>qe(),n.openDelay):qe()}function Fe(){oe==null||oe(),re==null||re(),n.closeDelay&&n.closeDelay>0?{stop:re}=useTimeoutFn(()=>Ve(),n.closeDelay):Ve()}function Et(){function ei(ti){ti||(V.value=!0,z.value=!1)}n.beforeClose?n.beforeClose(ei):Fe()}function ze(){n.closeOnClickModal&&Et()}function qe(){isClient&&(z.value=!0)}function Ve(){z.value=!1}function kt(){r("openAutoFocus")}function Ue(){r("closeAutoFocus")}function Dt(ei){var ti;((ti=ei.detail)==null?void 0:ti.focusReason)==="pointer"&&ei.preventDefault()}n.lockScroll&&useLockscreen(z);function jt(){n.closeOnPressEscape&&Et()}return watch(()=>n.zIndex,()=>{var ei;ie.value=(ei=n.zIndex)!=null?ei:g()}),watch(()=>n.modelValue,ei=>{var ti;ei?(V.value=!1,Oe(),j.value=!0,ie.value=(ti=n.zIndex)!=null?ti:g(),nextTick(()=>{r("open"),e.value&&(e.value.parentElement.scrollTop=0,e.value.parentElement.scrollLeft=0,e.value.scrollTop=0)})):z.value&&Fe()}),watch(()=>n.fullscreen,ei=>{e.value&&(ei?(y=e.value.style.transform,e.value.style.transform=""):e.value.style.transform=y)}),onMounted(()=>{n.modelValue&&(z.value=!0,j.value=!0,Oe())}),{afterEnter:Ie,afterLeave:Ne,beforeLeave:$e,handleClose:Et,onModalClick:ze,close:Fe,doClose:Ve,onOpenAutoFocus:kt,onCloseAutoFocus:Ue,onCloseRequested:jt,onFocusoutPrevented:Dt,titleId:k,bodyId:L,closed:V,style:ue,overlayDialogStyle:Ce,rendered:j,visible:z,zIndex:ie,transitionConfig:xe,_draggable:he,_alignCenter:pe,_overflow:_e}},__default__$s=defineComponent({name:"ElDialog",inheritAttrs:!1}),_sfc_main$T=defineComponent({...__default__$s,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:z,bodyId:V,style:j,overlayDialogStyle:ie,rendered:oe,transitionConfig:re,zIndex:ae,_draggable:le,_alignCenter:de,_overflow:ue,handleClose:he,onModalClick:pe,onOpenAutoFocus:_e,onCloseAutoFocus:Ce,onCloseRequested:xe,onFocusoutPrevented:Ie}=useDialog(t,g);provide(dialogInjectionKey,{dialogRef:g,headerRef:y,bodyId:V,ns:r,rendered:oe,style:j});const Ne=useSameTarget(pe),$e=computed$1(()=>t.modalPenetrable&&!t.modal&&!t.fullscreen);return e({visible:L,dialogContentRef:k,resetPosition:()=>{var Fe;(Fe=k.value)==null||Fe.resetPosition()},handleClose:he}),(Fe,Et)=>(openBlock(),createBlock(unref(ElTeleport),{to:Fe.appendTo,disabled:Fe.appendTo!=="body"?!1:!Fe.appendToBody},{default:withCtx(()=>[createVNode(Transition,mergeProps(unref(re),{persisted:""}),{default:withCtx(()=>{var ze;return[withDirectives(createVNode(unref(ElOverlay),{"custom-mask-event":"",mask:Fe.modal,"overlay-class":[(ze=Fe.modalClass)!=null?ze:"","".concat(unref(r).namespace.value,"-modal-dialog"),unref(r).is("penetrable",unref($e))],"z-index":unref(ae)},{default:withCtx(()=>[createBaseVNode("div",{role:"dialog","aria-modal":"true","aria-label":Fe.title||void 0,"aria-labelledby":Fe.title?void 0:unref(z),"aria-describedby":unref(V),class:normalizeClass("".concat(unref(r).namespace.value,"-overlay-dialog")),style:normalizeStyle(unref(ie)),onClick:unref(Ne).onClick,onMousedown:unref(Ne).onMousedown,onMouseup:unref(Ne).onMouseup},[createVNode(unref(ElFocusTrap),{loop:"",trapped:unref(L),"focus-start-el":"container",onFocusAfterTrapped:unref(_e),onFocusAfterReleased:unref(Ce),onFocusoutPrevented:unref(Ie),onReleaseRequested:unref(xe)},{default:withCtx(()=>[unref(oe)?(openBlock(),createBlock(ElDialogContent,mergeProps({key:0,ref_key:"dialogContentRef",ref:k},Fe.$attrs,{center:Fe.center,"align-center":unref(de),"close-icon":Fe.closeIcon,draggable:unref(le),overflow:unref(ue),fullscreen:Fe.fullscreen,"header-class":Fe.headerClass,"body-class":Fe.bodyClass,"footer-class":Fe.footerClass,"show-close":Fe.showClose,title:Fe.title,"aria-level":Fe.headerAriaLevel,onClose:unref(he)}),createSlots({header:withCtx(()=>[Fe.$slots.title?renderSlot(Fe.$slots,"title",{key:1}):renderSlot(Fe.$slots,"header",{key:0,close:unref(he),titleId:unref(z),titleClass:unref(r).e("title")})]),default:withCtx(()=>[renderSlot(Fe.$slots,"default")]),_:2},[Fe.$slots.footer?{name:"footer",fn:withCtx(()=>[renderSlot(Fe.$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},16)]),_:3},8,["to","disabled"]))}});var Dialog=_export_sfc$1(_sfc_main$T,[["__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__$r=defineComponent({name:"ElDivider"}),_sfc_main$S=defineComponent({...__default__$r,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$1(_sfc_main$S,[["__file","divider.vue"]]);const ElDivider=withInstall(Divider),splitterProps=buildProps({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),splitterRootContextKey=Symbol("splitterRootContextKey");function useContainer(n){const e=ref$1(),{width:t,height:i}=useElementSize(e),r=computed$1(()=>n.value==="horizontal"?t.value:i.value);return{containerEl:e,containerSize:r}}function getPct(n){return Number(n.slice(0,-1))/100}function getPx(n){return Number(n.slice(0,-2))}function isPct(n){return isString$1(n)&&n.endsWith("%")}function isPx(n){return isString$1(n)&&n.endsWith("px")}function useSize(n,e){const t=computed$1(()=>n.value.map(k=>k.size)),i=computed$1(()=>n.value.length),r=ref$1([]);watch([t,i,e],()=>{var k;let L=[],z=0;for(let j=0;jj+(ie||0),0);if(V>1||!z){const j=1/V;L=L.map(ie=>ie===void 0?0:ie*j)}else{const j=(1-V)/z;L=L.map(ie=>ie===void 0?j:ie)}r.value=L});const g=k=>k*e.value,y=computed$1(()=>r.value.map(g));return{percentSizes:r,pxSizes:y}}function useResize(n,e,t,i){const r=le=>le*e.value||0;function g(le,de){return isPct(le)?r(getPct(le)):isPx(le)?getPx(le):le!=null?le:de}const y=ref$1(0),k=ref$1(null);let L=[],z=NOOP;const V=computed$1(()=>n.value.map(le=>[le.min,le.max]));watch(i,()=>{if(y.value){const le=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(le)}});const j=le=>{y.value=0,k.value={index:le,confirmed:!1},L=t.value},ie=(le,de)=>{var ue,he;let pe=null;if((!k.value||!k.value.confirmed)&&de!==0){if(de>0)pe=le,k.value={index:le,confirmed:!0};else for(let Et=le;Et>=0;Et-=1)if(L[Et]>0){pe=Et,k.value={index:Et,confirmed:!0};break}}const _e=(he=pe!=null?pe:(ue=k.value)==null?void 0:ue.index)!=null?he:le,Ce=[...L],xe=_e+1,Ie=g(V.value[_e][0],0),Ne=g(V.value[xe][0],0),$e=g(V.value[_e][1],e.value||0),Oe=g(V.value[xe][1],e.value||0);let Fe=de;Ce[_e]+Fe$e&&(Fe=$e-Ce[_e]),Ce[xe]-Fe>Oe&&(Fe=Ce[xe]-Oe),Ce[_e]+=Fe,Ce[xe]-=Fe,y.value=Fe,z=()=>{n.value.forEach((Et,ze)=>{Et.size=Ce[ze]}),z=NOOP},i.value||z()},oe=()=>{i.value&&z(),y.value=0,k.value=null,L=[]},re=[];return{lazyOffset:y,onMoveStart:j,onMoving:ie,onMoveEnd:oe,movingIndex:k,onCollapse:(le,de)=>{re.length||re.push(...t.value);const ue=t.value,he=de==="start"?le:le+1,pe=de==="start"?le+1:le,_e=ue[he],Ce=ue[pe];if(_e!==0&&Ce!==0)ue[he]=0,ue[pe]+=_e,re[le]=_e;else{const xe=_e+Ce,Ie=re[le],Ne=xe-Ie;ue[pe]=Ie,ue[he]=Ne}n.value.forEach((xe,Ie)=>{xe.size=ue[Ie]})}}}const __default__$q=defineComponent({name:"ElSplitter"}),_sfc_main$R=defineComponent({...__default__$q,props:splitterProps,emits:["resizeStart","resize","resizeEnd","collapse"],setup(n,{emit:e}){const t=n,i=useNamespace("splitter"),r=toRef(t,"layout"),g=toRef(t,"lazy"),{containerEl:y,containerSize:k}=useContainer(r),{removeChild:L,children:z,addChild:V,ChildrenSorter:j}=useOrderedChildren(getCurrentInstance$1(),"ElSplitterPanel");watch(z,()=>{z.value.forEach((Ne,$e)=>{Ne.setIndex($e)})});const{percentSizes:ie,pxSizes:oe}=useSize(z,k),{lazyOffset:re,movingIndex:ae,onMoveStart:le,onMoving:de,onMoveEnd:ue,onCollapse:he}=useResize(z,k,oe,g),pe=computed$1(()=>({["--".concat(i.b(),"-bar-offset")]:g.value?"".concat(re.value,"px"):void 0}));return provide(splitterRootContextKey,reactive$1({panels:z,percentSizes:ie,pxSizes:oe,layout:r,lazy:g,movingIndex:ae,containerSize:k,onMoveStart:Ne=>{le(Ne),e("resizeStart",Ne,oe.value)},onMoving:(Ne,$e)=>{de(Ne,$e),g.value||e("resize",Ne,oe.value)},onMoveEnd:Ne=>{ue(),e("resizeEnd",Ne,oe.value)},onCollapse:(Ne,$e)=>{he(Ne,$e),e("collapse",Ne,$e,oe.value)},registerPanel:V,unregisterPanel:L})),(Ne,$e)=>(openBlock(),createElementBlock("div",{ref_key:"containerEl",ref:y,class:normalizeClass([unref(i).b(),unref(i).e(unref(r))]),style:normalizeStyle(unref(pe))},[renderSlot(Ne.$slots,"default"),createVNode(unref(j)),createCommentVNode(" Prevent iframe touch events from breaking "),unref(ae)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(i).e("mask"),unref(i).e("mask-".concat(unref(r)))])},null,2)):createCommentVNode("v-if",!0)],6))}});var Splitter=_export_sfc$1(_sfc_main$R,[["__file","splitter.vue"]]);function getCollapsible(n){return n&&isObject(n)?n:{start:!!n,end:!!n}}function isCollapsible(n,e,t,i){return!!(n!=null&&n.collapsible.end&&e>0||t!=null&&t.collapsible.start&&i===0&&e>0)}const __default__$p=defineComponent({name:"ElSplitterBar"}),_sfc_main$Q=defineComponent({...__default__$p,props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(n,{emit:e}){const t=n,i=useNamespace("splitter-bar"),r=computed$1(()=>t.layout==="horizontal"),g=computed$1(()=>r.value?{width:0}:{height:0}),y=computed$1(()=>({width:r.value?"16px":"100%",height:r.value?"100%":"16px",cursor:r.value?"col-resize":"row-resize",touchAction:"none"})),k=computed$1(()=>{const de=i.e("dragger");return{["".concat(de,"-horizontal")]:r.value,["".concat(de,"-vertical")]:!r.value,["".concat(de,"-active")]:!!L.value}}),L=ref$1(null),z=de=>{t.resizable&&(L.value=[de.pageX,de.pageY],e("moveStart",t.index),window.addEventListener("mouseup",oe),window.addEventListener("mousemove",j))},V=de=>{if(t.resizable&&de.touches.length===1){de.preventDefault();const ue=de.touches[0];L.value=[ue.pageX,ue.pageY],e("moveStart",t.index),window.addEventListener("touchend",re),window.addEventListener("touchmove",ie)}},j=de=>{const{pageX:ue,pageY:he}=de,pe=ue-L.value[0],_e=he-L.value[1],Ce=r.value?pe:_e;e("moving",t.index,Ce)},ie=de=>{if(de.touches.length===1){de.preventDefault();const ue=de.touches[0],he=ue.pageX-L.value[0],pe=ue.pageY-L.value[1],_e=r.value?he:pe;e("moving",t.index,_e)}},oe=()=>{L.value=null,window.removeEventListener("mouseup",oe),window.removeEventListener("mousemove",j),e("moveEnd",t.index)},re=()=>{L.value=null,window.removeEventListener("touchend",re),window.removeEventListener("touchmove",ie),e("moveEnd",t.index)},ae=computed$1(()=>r.value?arrow_left_default:arrow_up_default),le=computed$1(()=>r.value?arrow_right_default:arrow_down_default);return(de,ue)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b()]),style:normalizeStyle(unref(g))},[n.startCollapsible?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(i).e("collapse-icon"),unref(i).e("".concat(n.layout,"-collapse-icon-start"))]),onClick:he=>e("collapse",n.index,"start")},[renderSlot(de.$slots,"start-collapsible",{},()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(ae)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([unref(i).e("dragger"),unref(k),n.resizable?"":unref(i).e("disable"),unref(i).is("lazy",n.resizable&&n.lazy)]),style:normalizeStyle(unref(y)),onMousedown:z,onTouchstart:V},null,38),n.endCollapsible?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([unref(i).e("collapse-icon"),unref(i).e("".concat(n.layout,"-collapse-icon-end"))]),onClick:he=>e("collapse",n.index,"end")},[renderSlot(de.$slots,"end-collapsible",{},()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(le)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):createCommentVNode("v-if",!0)],6))}});var SplitBar=_export_sfc$1(_sfc_main$Q,[["__file","split-bar.vue"]]);const splitterPanelProps=buildProps({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),COMPONENT_NAME$9="ElSplitterPanel",__default__$o=defineComponent({name:COMPONENT_NAME$9}),_sfc_main$P=defineComponent({...__default__$o,props:splitterPanelProps,emits:["update:size"],setup(n,{emit:e}){const t=n,i=useNamespace("splitter-panel"),r=inject(splitterRootContextKey);r||throwError(COMPONENT_NAME$9,"usage: ");const{panels:g,layout:y,lazy:k,containerSize:L,pxSizes:z}=toRefs(r),{registerPanel:V,unregisterPanel:j,onCollapse:ie,onMoveEnd:oe,onMoveStart:re,onMoving:ae}=r,le=ref$1(),de=getCurrentInstance$1(),ue=de.uid,he=ref$1(0),pe=computed$1(()=>g.value[he.value]),_e=Ve=>{he.value=Ve},Ce=computed$1(()=>{var Ve;return pe.value&&(Ve=z.value[he.value])!=null?Ve:0}),xe=computed$1(()=>{var Ve;return pe.value&&(Ve=z.value[he.value+1])!=null?Ve:0}),Ie=computed$1(()=>pe.value?g.value[he.value+1]:null),Ne=computed$1(()=>{var Ve;return Ie.value?t.resizable&&((Ve=Ie.value)==null?void 0:Ve.resizable)&&(Ce.value!==0||!t.min)&&(xe.value!==0||!Ie.value.min):!1}),$e=computed$1(()=>pe.value?he.value!==g.value.length-1:!1),Oe=computed$1(()=>isCollapsible(pe.value,Ce.value,Ie.value,xe.value)),Fe=computed$1(()=>isCollapsible(Ie.value,xe.value,pe.value,Ce.value));function Et(Ve){return isPct(Ve)?getPct(Ve)*L.value||0:isPx(Ve)?getPx(Ve):Ve!=null?Ve:0}let ze=!1;watch(()=>t.size,()=>{if(!ze&&pe.value){const Ve=Et(t.size),kt=Et(t.max),Ue=Et(t.min),Dt=Math.min(Math.max(Ve,Ue||0),kt||Ve);Dt!==Ve&&e("update:size",Dt),pe.value.size=Dt}}),watch(()=>{var Ve;return(Ve=pe.value)==null?void 0:Ve.size},Ve=>{Ve!==t.size&&(ze=!0,e("update:size",Ve),nextTick(()=>ze=!1))}),watch(()=>t.resizable,Ve=>{pe.value&&(pe.value.resizable=Ve)});const qe=reactive$1({el:le.value,uid:ue,getVnode:()=>de.vnode,setIndex:_e,...t,collapsible:computed$1(()=>getCollapsible(t.collapsible))});return V(qe),onBeforeUnmount(()=>j(qe)),(Ve,kt)=>(openBlock(),createElementBlock(Fragment,null,[createBaseVNode("div",mergeProps({ref_key:"panelEl",ref:le,class:[unref(i).b()],style:{flexBasis:"".concat(unref(Ce),"px")}},Ve.$attrs),[renderSlot(Ve.$slots,"default")],16),unref($e)?(openBlock(),createBlock(SplitBar,{key:0,index:he.value,layout:unref(y),lazy:unref(k),resizable:unref(Ne),"start-collapsible":unref(Oe),"end-collapsible":unref(Fe),onMoveStart:unref(re),onMoving:unref(ae),onMoveEnd:unref(oe),onCollapse:unref(ie)},{"start-collapsible":withCtx(()=>[renderSlot(Ve.$slots,"start-collapsible")]),"end-collapsible":withCtx(()=>[renderSlot(Ve.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):createCommentVNode("v-if",!0)],64))}});var SplitPanel=_export_sfc$1(_sfc_main$P,[["__file","split-panel.vue"]]);const ElSplitter=withInstall(Splitter,{SplitPanel}),ElSplitterPanel=withNoopInstall(SplitPanel),drawerProps=buildProps({...dialogProps,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),drawerEmits=dialogEmits,__default__$n=defineComponent({name:"ElDrawer",inheritAttrs:!1}),_sfc_main$O=defineComponent({...__default__$n,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:z,beforeLeave:V,visible:j,rendered:ie,titleId:oe,bodyId:re,zIndex:ae,onModalClick:le,onOpenAutoFocus:de,onCloseAutoFocus:ue,onFocusoutPrevented:he,onCloseRequested:pe,handleClose:_e}=useDialog(t,r),Ce=computed$1(()=>t.direction==="rtl"||t.direction==="ltr"),xe=computed$1(()=>addUnit(t.size));return e({handleClose:_e,afterEnter:L,afterLeave:z}),(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(z),onBeforeLeave:unref(V),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(()=>[createVNode(unref(ElSplitter),{class:normalizeClass(unref(y).b("splitter")),layout:unref(Ce)?"horizontal":"vertical"},{default:withCtx(()=>[["rtl","btt"].includes(Ie.direction)?(openBlock(),createBlock(unref(ElSplitterPanel),{key:0,onClick:unref(le)},null,8,["onClick"])):createCommentVNode("v-if",!0),createVNode(unref(ElSplitterPanel),{resizable:Ie.resizable,size:unref(xe)},{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"],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(_e),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(_e)},[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,["resizable","size"]),["ltr","ttb"].includes(Ie.direction)?(openBlock(),createBlock(unref(ElSplitterPanel),{key:1,onClick:unref(le)},null,8,["onClick"])):createCommentVNode("v-if",!0)]),_:3},8,["class","layout"])]),_: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$1(_sfc_main$O,[["__file","drawer.vue"]]);const ElDrawer=withInstall(Drawer),_sfc_main$N=defineComponent({inheritAttrs:!1});function _sfc_render$j(n,e,t,i,r,g){return renderSlot(n.$slots,"default")}var Collection=_export_sfc$1(_sfc_main$N,[["render",_sfc_render$j],["__file","collection.vue"]]);const _sfc_main$M=defineComponent({name:"ElCollectionItem",inheritAttrs:!1});function _sfc_render$i(n,e,t,i,r,g){return renderSlot(n.$slots,"default")}var CollectionItem=_export_sfc$1(_sfc_main$M,[["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(),L=new Map;provide(i,{itemMap:L,getItems:()=>{const V=unref(k);if(!V)return[];const j=Array.from(V.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 z=ref$1(),V=inject(i,void 0);provide(r,{collectionItemRef:z}),onMounted(()=>{const j=unref(z);j&&V.itemMap.set(j,{ref:j,...L})}),onBeforeUnmount(()=>{const j=unref(z);V.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$L=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(),{getItems:k}=inject(COLLECTION_INJECTION_KEY$1,void 0),L=computed$1(()=>[{outline:"none"},n.style]),z=ae=>{e(CURRENT_TAB_ID_CHANGE_EVT,ae)},V=()=>{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),_e=pe.find(Ne=>Ne.active),Ce=pe.find(Ne=>Ne.id===unref(i)),Ie=[_e,Ce,...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:z,onItemShiftTab:V,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$1(_sfc_main$L,[["render",_sfc_render$h],["__file","roving-focus-group-impl.vue"]]);const _sfc_main$K=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$1(_sfc_main$K,[["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,values:roleTypes,default:"menu"},buttonProps:{type:definePropType(Object)},teleported:useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0}}),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"),DROPDOWN_INSTANCE_INJECTION_KEY="elDropdown",{ButtonGroup:ElButtonGroup}=ElButton,_sfc_main$J=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(),L=ref$1(),z=ref$1(null),V=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],([Ve,kt],[Ue])=>{var Dt,jt,ei;(Dt=Ue==null?void 0:Ue.$el)!=null&&Dt.removeEventListener&&Ue.$el.removeEventListener("pointerenter",Ce),(jt=Ve==null?void 0:Ve.$el)!=null&&jt.removeEventListener&&Ve.$el.removeEventListener("pointerenter",Ce),(ei=Ve==null?void 0:Ve.$el)!=null&&ei.addEventListener&&kt.includes("hover")&&Ve.$el.addEventListener("pointerenter",Ce)},{immediate:!0}),onBeforeUnmount(()=>{var Ve,kt;(kt=(Ve=g.value)==null?void 0:Ve.$el)!=null&&kt.removeEventListener&&g.value.$el.removeEventListener("pointerenter",Ce)});function de(){ue()}function ue(){var Ve;(Ve=k.value)==null||Ve.onClose()}function he(){var Ve;(Ve=k.value)==null||Ve.onOpen()}const pe=useFormSize();function _e(...Ve){e("command",...Ve)}function Ce(){var Ve,kt;(kt=(Ve=g.value)==null?void 0:Ve.$el)==null||kt.focus({preventScroll:!0})}function xe(){}function Ie(){const Ve=unref(L);re.value.includes("hover")&&(Ve==null||Ve.focus({preventScroll:!0})),V.value=null}function Ne(Ve){V.value=Ve}function $e(Ve){j.value||(Ve.preventDefault(),Ve.stopImmediatePropagation())}function Oe(){e("visible-change",!0)}function Fe(Ve){var kt;(Ve==null?void 0:Ve.type)==="keydown"&&((kt=L.value)==null||kt.focus())}function Et(){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(DROPDOWN_INSTANCE_INJECTION_KEY,{instance:t,dropdownSize:pe,handleClick:de,commandHandler:_e,trigger:toRef(n,"trigger"),hideOnClick:toRef(n,"hideOnClick")}),{t:r,ns:i,scrollbar:z,wrapStyle:ie,dropdownTriggerKls:oe,dropdownSize:pe,triggerId:le,currentTabId:V,handleCurrentTabIdChange:Ne,handlerMainButtonClick:Ve=>{e("click",Ve)},handleEntryFocus:$e,handleClose:ue,handleOpen:he,handleBeforeShowTooltip:Oe,handleShowTooltip:Fe,handleBeforeHideTooltip:Et,onFocusAfterTrapped:Ve=>{var kt,Ue;Ve.preventDefault(),(Ue=(kt=L.value)==null?void 0:kt.focus)==null||Ue.call(kt,{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"),z=resolveComponent("el-scrollbar"),V=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:n.persistent,onBeforeShow:n.handleBeforeShowTooltip,onShow:n.handleShowTooltip,onBeforeHide:n.handleBeforeHideTooltip},createSlots({content:withCtx(()=>[createVNode(z,{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(V,{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","persistent","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$1(_sfc_main$J,[["render",_sfc_render$f],["__file","dropdown.vue"]]);const _sfc_main$I=defineComponent({components:{ElRovingFocusCollectionItem:ElCollectionItem$1},props:{focusable:{type:Boolean,default:!0},active:Boolean},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(),z=composeEventHandlers(oe=>{e("mousedown",oe)},oe=>{n.focusable?r(unref(k)):oe.preventDefault()}),V=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(_e=>_e.focusable).map(_e=>_e.ref);switch(ue){case"last":{pe.reverse();break}case"prev":case"next":{ue==="prev"&&pe.reverse();const _e=pe.indexOf(de);pe=i.value?reorderArray(pe,_e+1):pe.slice(_e+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:z,handleFocus:V,handleKeydown:j}),{id:k,handleKeydown:j,handleFocus:V,handleMousedown:z}}});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$1(_sfc_main$I,[["render",_sfc_render$e],["__file","roving-focus-item.vue"]]);const _sfc_main$H=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:z,handleMousedown:V}=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},z);return{ns:t,itemRef:j,dataset:{[COLLECTION_ITEM_SIGN]:""},role:ie,tabIndex:k,handleFocus:L,handleKeydown:oe,handleMousedown:V}}});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$1(_sfc_main$H,[["render",_sfc_render$d],["__file","dropdown-item-impl.vue"]]);const useDropdown=()=>{const n=inject(DROPDOWN_INSTANCE_INJECTION_KEY,{}),e=computed$1(()=>n==null?void 0:n.dropdownSize);return{elDropdown:n,_elDropdownSize:e}},_sfc_main$G=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),z=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({preventScroll:!0}))})),V=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:z,handlePointerLeave:V,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"),z=resolveComponent("el-dropdown-collection-item");return openBlock(),createBlock(z,{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$1(_sfc_main$G,[["render",_sfc_render$c],["__file","dropdown-item.vue"]]);const _sfc_main$F=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:z,getItems:V}=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,z,r,j,de),pe=composeEventHandlers(Ce=>{var xe;(xe=n.onKeydown)==null||xe.call(n,Ce)},Ce=>{const{currentTarget:xe,code:Ie,target:Ne}=Ce;if(xe.contains(Ne),EVENT_CODE.tab===Ie&&Ce.stopImmediatePropagation(),Ce.preventDefault(),Ne!==unref(y)||!FIRST_LAST_KEYS.includes(Ie))return;const Oe=V().filter(Fe=>!Fe.disabled).map(Fe=>Fe.ref);LAST_KEYS.includes(Ie)&&Oe.reverse(),focusFirst(Oe)});return{size:i,rovingFocusGroupRootStyle:ie,tabIndex:oe,dropdownKls:ue,role:k,triggerId:L,dropdownListWrapperRef:he,handleKeydown:Ce=>{pe(Ce),g(Ce)},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$1(_sfc_main$F,[["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:definePropType([Object,Boolean]),default:!0}}),formEmits={validate:(n,e,t)=>(isArray$1(n)||isString$1(n))&&isBoolean(e)&&isString$1(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).map(i=>isArray$1(i)?i.join("."):i);return t.length>0?n.filter(i=>i.propString&&t.includes(i.propString)):n},COMPONENT_NAME$8="ElForm",__default__$m=defineComponent({name:COMPONENT_NAME$8}),_sfc_main$E=defineComponent({...__default__$m,props:formProps,emits:formEmits,setup(n,{expose:e,emit:t}){const i=n,r=ref$1(),g=reactive$1([]),y=useFormSize(),k=useNamespace("form"),L=computed$1(()=>{const{labelPosition:pe,inline:_e}=i;return[k.b(),k.m(y.value||"default"),{[k.m("label-".concat(pe))]:pe,[k.m("inline")]:_e}]}),z=pe=>filterFields(g,[pe])[0],V=pe=>{g.push(pe)},j=pe=>{pe.prop&&g.splice(g.indexOf(pe),1)},ie=(pe=[])=>{i.model&&filterFields(g,pe).forEach(_e=>_e.resetField())},oe=(pe=[])=>{filterFields(g,pe).forEach(_e=>_e.clearValidate())},re=computed$1(()=>!!i.model),ae=pe=>{if(g.length===0)return[];const _e=filterFields(g,pe);return _e.length?_e:[]},le=async pe=>ue(void 0,pe),de=async(pe=[])=>{if(!re.value)return!1;const _e=ae(pe);if(_e.length===0)return!0;let Ce={};for(const xe of _e)try{await xe.validate(""),xe.validateState==="error"&&!xe.error&&xe.resetField()}catch(Ie){Ce={...Ce,...Ie}}return Object.keys(Ce).length===0?!0:Promise.reject(Ce)},ue=async(pe=[],_e)=>{let Ce=!1;const xe=!isFunction$1(_e);try{return Ce=await de(pe),Ce===!0&&await(_e==null?void 0:_e(Ce)),Ce}catch(Ie){if(Ie instanceof Error)throw Ie;const Ne=Ie;if(i.scrollToError&&r.value){const $e=r.value.querySelector(".".concat(k.b(),"-item.is-error"));$e==null||$e.scrollIntoView(i.scrollIntoViewOptions)}return!Ce&&await(_e==null?void 0:_e(!1,Ne)),xe&&Promise.reject(Ne)}},he=pe=>{var _e;const Ce=z(pe);Ce&&((_e=Ce.$el)==null||_e.scrollIntoView(i.scrollIntoViewOptions))};return watch(()=>i.rules,()=>{i.validateOnRuleChange&&le().catch(pe=>void 0)},{deep:!0,flush:"post"}),provide(formContextKey,reactive$1({...toRefs(i),emit:t,resetFields:ie,clearValidate:oe,validateField:ue,getField:z,addField:V,removeField:j,...useFormLabelWidth()})),e({validate:le,validateField:ue,resetFields:ie,clearValidate:oe,scrollToField:he,getField:z,fields:g}),(pe,_e)=>(openBlock(),createElementBlock("form",{ref_key:"formRef",ref:r,class:normalizeClass(unref(L))},[renderSlot(pe.$slots,"default")],2))}});var Form=_export_sfc$1(_sfc_main$E,[["__file","form.vue"]]);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),z=new L;return y&&_setPrototypeOf(z,y.prototype),z},_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 n(){};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(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 n(e){return types.number(e)&&parseInt(e,10)===e},float:function n(e){return types.number(e)&&!types.integer(e)},array:function n(e){return Array.isArray(e)},regexp:function n(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(t){return!1}},date:function n(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function n(e){return isNaN(e)?!1:typeof e=="number"},object:function n(e){return typeof e=="object"&&!types.array(e)},method:function n(e){return typeof e=="function"},email:function n(e){return typeof e=="string"&&e.length<=320&&!!e.match(pattern$2.email)},url:function n(e){return typeof e=="string"&&e.length<=2048&&!!e.match(getUrlRegex())},hex:function n(e){return typeof e=="string"&&!!e.match(pattern$2.hex)}},type$1=function n(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(g.messages.types[k],e.fullField,e.type)):k&&typeof t!==e.type&&r.push(format(g.messages.types[k],e.fullField,e.type))},range=function n(e,t,i,r,g){var y=typeof e.len=="number",k=typeof e.min=="number",L=typeof e.max=="number",z=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,V=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&&(V=t.length),oe&&(V=t.replace(z,"_").length),y?V!==e.len&&r.push(format(g.messages[j].len,e.fullField,e.len)):k&&!L&&Ve.max?r.push(format(g.messages[j].max,e.fullField,e.max)):k&&L&&(Ve.max)&&r.push(format(g.messages[j].range,e.fullField,e.min,e.max))},ENUM$1="enum",enumerable$1=function n(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(g.messages[ENUM$1],e.fullField,e[ENUM$1].join(", ")))},pattern$1=function n(e,t,i,r,g){if(e.pattern){if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||r.push(format(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(g.messages.pattern.mismatch,e.fullField,t,e.pattern))}}},rules={required:required$1,whitespace,type:type$1,range,enum:enumerable$1,pattern:pattern$1},string=function n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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 n(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,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,z=g;if(typeof L=="function"&&(z=L,L={}),!this.rules||Object.keys(this.rules).length===0)return z&&z(null,k),Promise.resolve(k);function V(ae){var le=[],de={};function ue(pe){if(Array.isArray(pe)){var _e;le=(_e=le).concat.apply(_e,pe)}else le.push(pe)}for(var he=0;he");const r=useNamespace("form"),g=ref$1(),y=ref$1(0),k=()=>{var V;if((V=g.value)!=null&&V.firstElementChild){const j=window.getComputedStyle(g.value.firstElementChild).width;return Math.ceil(Number.parseFloat(j))}else return 0},L=(V="update")=>{nextTick(()=>{e.default&&n.isAutoWidth&&(V==="update"?y.value=k():V==="remove"&&(t==null||t.deregisterLabelWidth(y.value)))})},z=()=>L("update");return onMounted(()=>{z()}),onBeforeUnmount(()=>{L("remove")}),onUpdated(()=>z()),watch(y,(V,j)=>{n.updateAll&&(t==null||t.registerLabelWidth(V,j))}),useResizeObserver(computed$1(()=>{var V,j;return(j=(V=g.value)==null?void 0:V.firstElementChild)!=null?j:null}),z),()=>{var V,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},[(V=e.default)==null?void 0:V.call(e)])}else return createVNode(Fragment,{ref:g},[(j=e.default)==null?void 0:j.call(e)])}}});const __default__$l=defineComponent({name:"ElFormItem"}),_sfc_main$D=defineComponent({...__default__$l,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,z=ref$1([]),V=ref$1(""),j=refDebounced(V,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 oi=addUnit(t.labelWidth||(r==null?void 0:r.labelWidth)||"");return oi?{width:oi}:{}}),ue=computed$1(()=>{if(le.value==="top"||r!=null&&r.inline)return{};if(!t.label&&!t.labelWidth&&$e)return{};const oi=addUnit(t.labelWidth||(r==null?void 0:r.labelWidth)||"");return!t.label&&!i.label?{marginLeft:oi}:{}}),he=computed$1(()=>[k.b(),k.m(y.value),k.is("error",V.value==="error"),k.is("validating",V.value==="validating"),k.is("success",V.value==="success"),k.is("required",qe.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),_e=computed$1(()=>[k.e("error"),{[k.em("error","inline")]:pe.value}]),Ce=computed$1(()=>t.prop?isArray$1(t.prop)?t.prop.join("."):t.prop:""),xe=computed$1(()=>!!(t.label||i.label)),Ie=computed$1(()=>{var oi;return(oi=t.for)!=null?oi:z.value.length===1?z.value[0]:void 0}),Ne=computed$1(()=>!Ie.value&&xe.value),$e=!!g,Oe=computed$1(()=>{const oi=r==null?void 0:r.model;if(!(!oi||!t.prop))return getProp(oi,t.prop).value}),Fe=computed$1(()=>{const{required:oi}=t,bi=[];t.rules&&bi.push(...castArray$1(t.rules));const Ti=r==null?void 0:r.rules;if(Ti&&t.prop){const Si=getProp(Ti,t.prop).value;Si&&bi.push(...castArray$1(Si))}if(oi!==void 0){const Si=bi.map((ni,fi)=>[ni,fi]).filter(([ni])=>Object.keys(ni).includes("required"));if(Si.length>0)for(const[ni,fi]of Si)ni.required!==oi&&(bi[fi]={...ni,required:oi});else bi.push({required:oi})}return bi}),Et=computed$1(()=>Fe.value.length>0),ze=oi=>Fe.value.filter(Ti=>!Ti.trigger||!oi?!0:isArray$1(Ti.trigger)?Ti.trigger.includes(oi):Ti.trigger===oi).map(({trigger:Ti,...Si})=>Si),qe=computed$1(()=>Fe.value.some(oi=>oi.required)),Ve=computed$1(()=>{var oi;return j.value==="error"&&t.showMessage&&((oi=r==null?void 0:r.showMessage)!=null?oi:!0)}),kt=computed$1(()=>"".concat(t.label||"").concat((r==null?void 0:r.labelSuffix)||"")),Ue=oi=>{V.value=oi},Dt=oi=>{var bi,Ti;const{errors:Si,fields:ni}=oi;(!Si||!ni)&&console.error(oi),Ue("error"),ie.value=Si?(Ti=(bi=Si==null?void 0:Si[0])==null?void 0:bi.message)!=null?Ti:"".concat(t.prop," is required"):"",r==null||r.emit("validate",t.prop,!1,ie.value)},jt=()=>{Ue("success"),r==null||r.emit("validate",t.prop,!0,"")},ei=async oi=>{const bi=Ce.value;return new Schema({[bi]:oi}).validate({[bi]:Oe.value},{firstFields:!0}).then(()=>(jt(),!0)).catch(Si=>(Dt(Si),Promise.reject(Si)))},ti=async(oi,bi)=>{if(ae||!t.prop)return!1;const Ti=isFunction$1(bi);if(!Et.value)return bi==null||bi(!1),!1;const Si=ze(oi);return Si.length===0?(bi==null||bi(!0),!0):(Ue("validating"),ei(Si).then(()=>(bi==null||bi(!0),!0)).catch(ni=>{const{fields:fi}=ni;return bi==null||bi(!1,fi),Ti?!1:Promise.reject(fi)}))},hi=()=>{Ue(""),ie.value="",ae=!1},ui=async()=>{const oi=r==null?void 0:r.model;if(!oi||!t.prop)return;const bi=getProp(oi,t.prop);ae=!0,bi.value=clone$2(re),await nextTick(),hi(),ae=!1},mi=oi=>{z.value.includes(oi)||z.value.push(oi)},pi=oi=>{z.value=z.value.filter(bi=>bi!==oi)};watch(()=>t.error,oi=>{ie.value=oi||"",Ue(oi?"error":"")},{immediate:!0}),watch(()=>t.validateStatus,oi=>Ue(oi||""));const ri=reactive$1({...toRefs(t),$el:oe,size:y,validateMessage:ie,validateState:V,labelId:L,inputIds:z,isGroup:Ne,hasLabel:xe,fieldValue:Oe,addInputId:mi,removeInputId:pi,resetField:ui,clearValidate:hi,validate:ti,propString:Ce});return provide(formItemContextKey,ri),onMounted(()=>{t.prop&&(r==null||r.addField(ri),re=clone$2(Oe.value))}),onBeforeUnmount(()=>{r==null||r.removeField(ri)}),e({size:y,validateMessage:ie,validateState:V,validate:ti,clearValidate:hi,resetField:ui}),(oi,bi)=>{var Ti;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":((Ti=unref(r))==null?void 0:Ti.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(oi.$slots,"label",{label:unref(kt)},()=>[createTextVNode(toDisplayString(unref(kt)),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(oi.$slots,"default"),createVNode(TransitionGroup,{name:"".concat(unref(k).namespace.value,"-zoom-in-top")},{default:withCtx(()=>[unref(Ve)?renderSlot(oi.$slots,"error",{key:0,error:ie.value},()=>[createBaseVNode("div",{class:normalizeClass(unref(_e))},toDisplayString(ie.value),3)]):createCommentVNode("v-if",!0)]),_:3},8,["name"])],6)],10,["role","aria-labelledby"])}}});var FormItem=_export_sfc$1(_sfc_main$D,[["__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.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},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"]),inputmode:{type:definePropType(String),default:void 0},align:{type:definePropType(String),default:"center"},disabledScientific:Boolean}),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__$k=defineComponent({name:"ElInputNumber"}),_sfc_main$C=defineComponent({...__default__$k,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(),z=computed$1(()=>isNumber(i.modelValue)&&i.modelValue<=i.min),V=computed$1(()=>isNumber(i.modelValue)&&i.modelValue>=i.max),j=computed$1(()=>{const Ve=de(i.step);return isUndefined(i.precision)?Math.max(de(i.modelValue),Ve):(Ve>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 Ve=k.currentValue;if(isNil(Ve))return"";if(isNumber(Ve)){if(Number.isNaN(Ve))return"";isUndefined(i.precision)||(Ve=Ve.toFixed(i.precision))}return Ve}),le=(Ve,kt)=>{if(isUndefined(kt)&&(kt=j.value),kt===0)return Math.round(Ve);let Ue=String(Ve);const Dt=Ue.indexOf(".");if(Dt===-1||!Ue.replace(".","").split("")[Dt+kt])return Ve;const ti=Ue.length;return Ue.charAt(ti-1)==="5"&&(Ue="".concat(Ue.slice(0,Math.max(0,ti-1)),"6")),Number.parseFloat(Number(Ue).toFixed(kt))},de=Ve=>{if(isNil(Ve))return 0;const kt=Ve.toString(),Ue=kt.indexOf(".");let Dt=0;return Ue!==-1&&(Dt=kt.length-Ue-1),Dt},ue=(Ve,kt=1)=>isNumber(Ve)?Ve>=Number.MAX_SAFE_INTEGER&&kt===1||Ve<=Number.MIN_SAFE_INTEGER&&kt===-1?Ve:le(Ve+i.step*kt):k.currentValue,he=Ve=>{var kt;const Ue=Ve;if(i.disabledScientific&&["e","E"].includes(Ue.key)){Ue.preventDefault();return}const Dt={[EVENT_CODE.up]:()=>{Ue.preventDefault(),pe()},[EVENT_CODE.down]:()=>{Ue.preventDefault(),_e()}};(kt=Dt[Ue.key])==null||kt.call(Dt)},pe=()=>{if(i.readonly||re.value||V.value)return;const Ve=Number(ae.value)||0,kt=ue(Ve);xe(kt),t(INPUT_EVENT,k.currentValue),ze()},_e=()=>{if(i.readonly||re.value||z.value)return;const Ve=Number(ae.value)||0,kt=ue(Ve,-1);xe(kt),t(INPUT_EVENT,k.currentValue),ze()},Ce=(Ve,kt)=>{const{max:Ue,min:Dt,step:jt,precision:ei,stepStrictly:ti,valueOnClear:hi}=i;UeUe||uiUe?Ue:Dt,kt&&t(UPDATE_MODEL_EVENT,ui)),ui},xe=(Ve,kt=!0)=>{var Ue;const Dt=k.currentValue,jt=Ce(Ve);if(!kt){t(UPDATE_MODEL_EVENT,jt);return}Dt===jt&&Ve||(k.userInput=null,t(UPDATE_MODEL_EVENT,jt),Dt!==jt&&t(CHANGE_EVENT,jt,Dt),i.validateEvent&&((Ue=L==null?void 0:L.validate)==null||Ue.call(L,"change").catch(ei=>void 0)),k.currentValue=jt)},Ie=Ve=>{k.userInput=Ve;const kt=Ve===""?null:Number(Ve);t(INPUT_EVENT,kt),xe(kt,!1)},Ne=Ve=>{const kt=Ve!==""?Number(Ve):"";(isNumber(kt)&&!Number.isNaN(kt)||Ve==="")&&xe(kt),ze(),k.userInput=null},$e=()=>{var Ve,kt;(kt=(Ve=y.value)==null?void 0:Ve.focus)==null||kt.call(Ve)},Oe=()=>{var Ve,kt;(kt=(Ve=y.value)==null?void 0:Ve.blur)==null||kt.call(Ve)},Fe=Ve=>{t("focus",Ve)},Et=Ve=>{var kt,Ue;k.userInput=null,k.currentValue===null&&((kt=y.value)!=null&&kt.input)&&(y.value.input.value=""),t("blur",Ve),i.validateEvent&&((Ue=L==null?void 0:L.validate)==null||Ue.call(L,"blur").catch(Dt=>void 0))},ze=()=>{k.currentValue!==i.modelValue&&(k.currentValue=i.modelValue)},qe=Ve=>{document.activeElement===Ve.target&&Ve.preventDefault()};return watch(()=>i.modelValue,(Ve,kt)=>{const Ue=Ce(Ve,!0);k.userInput===null&&Ue!==kt&&(k.currentValue=Ue)},{immediate:!0}),watch(()=>i.precision,()=>{k.currentValue=Ce(i.modelValue)}),onMounted(()=>{var Ve;const{min:kt,max:Ue,modelValue:Dt}=i,jt=(Ve=y.value)==null?void 0:Ve.input;if(jt.setAttribute("role","spinbutton"),Number.isFinite(Ue)?jt.setAttribute("aria-valuemax",String(Ue)):jt.removeAttribute("aria-valuemax"),Number.isFinite(kt)?jt.setAttribute("aria-valuemin",String(kt)):jt.removeAttribute("aria-valuemin"),jt.setAttribute("aria-valuenow",k.currentValue||k.currentValue===0?String(k.currentValue):""),jt.setAttribute("aria-disabled",String(re.value)),!isNumber(Dt)&&Dt!=null){let ei=Number(Dt);Number.isNaN(ei)&&(ei=null),t(UPDATE_MODEL_EVENT,ei)}jt.addEventListener("wheel",qe,{passive:!1})}),onUpdated(()=>{var Ve,kt;const Ue=(Ve=y.value)==null?void 0:Ve.input;Ue==null||Ue.setAttribute("aria-valuenow","".concat((kt=k.currentValue)!=null?kt:""))}),e({focus:$e,blur:Oe}),(Ve,kt)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(g).b(),unref(g).m(unref(oe)),unref(g).is("disabled",unref(re)),unref(g).is("without-controls",!Ve.controls),unref(g).is("controls-right",unref(ie)),unref(g).is(Ve.align,!!Ve.align)]),onDragstart:withModifiers(()=>{},["prevent"])},[Ve.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(z))]),onKeydown:withKeys(_e,["enter"])},[renderSlot(Ve.$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),_e]]):createCommentVNode("v-if",!0),Ve.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(V))]),onKeydown:withKeys(pe,["enter"])},[renderSlot(Ve.$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),pe]]):createCommentVNode("v-if",!0),createVNode(unref(ElInput),{id:Ve.id,ref_key:"input",ref:y,type:"number",step:Ve.step,"model-value":unref(ae),placeholder:Ve.placeholder,readonly:Ve.readonly,disabled:unref(re),size:unref(oe),max:Ve.max,min:Ve.min,name:Ve.name,"aria-label":Ve.ariaLabel,"validate-event":!1,inputmode:Ve.inputmode,onKeydown:he,onBlur:Et,onFocus:Fe,onInput:Ie,onChange:Ne},createSlots({_:2},[Ve.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(Ve.$slots,"prefix")])}:void 0,Ve.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(Ve.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],42,["onDragstart"]))}});var InputNumber=_export_sfc$1(_sfc_main$C,[["__file","input-number.vue"]]);const ElInputNumber=withInstall(InputNumber),MINIMUM_INPUT_WIDTH=11;function useCalcInputWidth(){const n=shallowRef(),e=ref$1(0),t=computed$1(()=>({minWidth:"".concat(Math.max(e.value,MINIMUM_INPUT_WIDTH),"px")}));return useResizeObserver(n,()=>{var r,g;e.value=(g=(r=n.value)==null?void 0:r.getBoundingClientRect().width)!=null?g:0}),{calculatorRef:n,calculatorWidth:e,inputStyle:t}}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__$j=defineComponent({name:"ElPaginationPrev"}),_sfc_main$B=defineComponent({...__default__$j,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$1(_sfc_main$B,[["__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__$i=defineComponent({name:"ElPaginationNext"}),_sfc_main$A=defineComponent({...__default__$i,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$1(_sfc_main$A,[["__file","next.vue"]]);const defaultProps$3={label:"label",value:"value",disabled:"disabled",options:"options"};function useProps(n){const e=computed$1(()=>({...defaultProps$3,...n.props}));return{aliasProps:e,getLabel:y=>get(y,e.value.label),getValue:y=>get(y,e.value.value),getDisabled:y=>get(y,e.value.disabled),getOptions:y=>get(y,e.value.options)}}const selectGroupKey=Symbol("ElSelectGroup"),selectKey=Symbol("ElSelect"),COMPONENT_NAME$6="ElOption",optionProps=buildProps({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean}),escapeStringRegexp=(n="")=>n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),capitalize=n=>capitalize$1(n);function useOption(n,e){const t=inject(selectKey);t||throwError(COMPONENT_NAME$6,"usage: ");const i=inject(selectGroupKey,{disabled:!1}),r=computed$1(()=>V(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(()=>{var oe;return(oe=n.label)!=null?oe:isObject(n.value)?"":n.value}),k=computed$1(()=>n.value||n.label||""),L=computed$1(()=>n.disabled||e.groupDisabled||g.value),z=getCurrentInstance$1(),V=(oe=[],re)=>{if(isObject(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(z.proxy))},ie=oe=>{const re=new RegExp(escapeStringRegexp(oe),"i");e.visible=re.test(String(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((ae?oe!==re:!isEqual(oe,re))&&(t.onOptionDestroy(re,z.proxy),t.onOptionCreate(z.proxy)),!n.created&&!ae){if(le&&isObject(oe)&&isObject(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$z=defineComponent({name:COMPONENT_NAME$6,componentName:COMPONENT_NAME$6,props:optionProps,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:z,updateOption:V}=useOption(n,r),{visible:j,hover:ie}=toRefs(r),oe=getCurrentInstance$1().proxy;L.onOptionCreate(oe),onBeforeUnmount(()=>{const ae=oe.value;nextTick(()=>{const{selected:le}=L.states,de=le.some(ue=>ue.value===oe.value);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,visible:j,hover:ie,states:r,hoverItem:z,updateOption:V,selectOptionClick:re}}});function _sfc_render$a(n,e){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$1(_sfc_main$z,[["render",_sfc_render$a],["__file","option.vue"]]);const _sfc_main$y=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$1(_sfc_main$y,[["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(),L=ref$1(),z=ref$1(),V=ref$1(),j=ref$1(),ie=ref$1(),oe=ref$1(),re=ref$1(),ae=ref$1(),le=ref$1(),de=ref$1(),ue=ref$1(!1),he=ref$1(),{form:pe,formItem:_e}=useFormItem(),{inputId:Ce}=useFormItemInputId(n,{formItemContext:_e}),{valueOnClear:xe,isEmptyValue:Ie}=useEmptyValues(n),{isComposing:Ne,handleCompositionStart:$e,handleCompositionUpdate:Oe,handleCompositionEnd:Fe}=useComposition({afterComposition:Di=>qi(Di)}),Et=computed$1(()=>n.disabled||!!(pe!=null&&pe.disabled)),{wrapperRef:ze,isFocused:qe,handleBlur:Ve}=useFocusController(j,{disabled:Et,afterFocus(){n.automaticDropdown&&!ue.value&&(ue.value=!0,y.menuVisibleOnFocus=!0)},beforeBlur(Di){var Fi,Zi;return((Fi=z.value)==null?void 0:Fi.isFocusInsideContent(Di))||((Zi=V.value)==null?void 0:Zi.isFocusInsideContent(Di))},afterBlur(){var Di;ue.value=!1,y.menuVisibleOnFocus=!1,n.validateEvent&&((Di=_e==null?void 0:_e.validate)==null||Di.call(_e,"blur").catch(Fi=>void 0))}}),kt=computed$1(()=>isArray$1(n.modelValue)?n.modelValue.length>0:!Ie(n.modelValue)),Ue=computed$1(()=>{var Di;return(Di=pe==null?void 0:pe.statusIcon)!=null?Di:!1}),Dt=computed$1(()=>n.clearable&&!Et.value&&kt.value&&(qe.value||y.inputHovering)),jt=computed$1(()=>n.remote&&n.filterable&&!n.remoteShowSuffix?"":n.suffixIcon),ei=computed$1(()=>r.is("reverse",!!(jt.value&&ue.value))),ti=computed$1(()=>(_e==null?void 0:_e.validateState)||""),hi=computed$1(()=>ti.value&&ValidateComponentsMap[ti.value]),ui=computed$1(()=>n.remote?300:0),mi=computed$1(()=>n.remote&&!y.inputValue&&y.options.size===0),pi=computed$1(()=>n.loading?n.loadingText||t("el.select.loading"):n.filterable&&y.inputValue&&y.options.size>0&&ri.value===0?n.noMatchText||t("el.select.noMatch"):y.options.size===0?n.noDataText||t("el.select.noData"):null),ri=computed$1(()=>oi.value.filter(Di=>Di.visible).length),oi=computed$1(()=>{const Di=Array.from(y.options.values()),Fi=[];return y.optionValues.forEach(Zi=>{const Tn=Di.findIndex(Dn=>Dn.value===Zi);Tn>-1&&Fi.push(Di[Tn])}),Fi.length>=Di.length?Fi:Di}),bi=computed$1(()=>Array.from(y.cachedOptions.values())),Ti=computed$1(()=>{const Di=oi.value.filter(Fi=>!Fi.created).some(Fi=>Fi.currentLabel===y.inputValue);return n.filterable&&n.allowCreate&&y.inputValue!==""&&!Di}),Si=()=>{n.filterable&&isFunction$1(n.filterMethod)||n.filterable&&n.remote&&isFunction$1(n.remoteMethod)||oi.value.forEach(Di=>{var Fi;(Fi=Di.updateOption)==null||Fi.call(Di,y.inputValue)})},ni=useFormSize(),fi=computed$1(()=>["small"].includes(ni.value)?"small":"default"),si=computed$1({get(){return ue.value&&!mi.value},set(Di){ue.value=Di}}),_i=computed$1(()=>{if(n.multiple&&!isUndefined(n.modelValue))return castArray$1(n.modelValue).length===0&&!y.inputValue;const Di=isArray$1(n.modelValue)?n.modelValue[0]:n.modelValue;return n.filterable||isUndefined(Di)?!y.inputValue:!0}),Pt=computed$1(()=>{var Di;const Fi=(Di=n.placeholder)!=null?Di:t("el.select.placeholder");return n.multiple||!kt.value?Fi:y.selectedLabel}),Lt=computed$1(()=>isIOS?null:"mouseenter");watch(()=>n.modelValue,(Di,Fi)=>{n.multiple&&n.filterable&&!n.reserveKeyword&&(y.inputValue="",At("")),gi(),!isEqual(Di,Fi)&&n.validateEvent&&(_e==null||_e.validate("change").catch(Zi=>void 0))},{flush:"post",deep:!0}),watch(()=>ue.value,Di=>{Di?At(y.inputValue):(y.inputValue="",y.previousQuery=null,y.isBeforeHide=!0),e("visible-change",Di)}),watch(()=>y.options.entries(),()=>{isClient&&(gi(),n.defaultFirstOption&&(n.filterable||n.remote)&&ri.value&&ii())},{flush:"post"}),watch([()=>y.hoveringIndex,oi],([Di])=>{isNumber(Di)&&Di>-1?he.value=oi.value[Di]||{}:he.value={},oi.value.forEach(Fi=>{Fi.hover=he.value===Fi})}),watchEffect(()=>{y.isBeforeHide||Si()});const At=Di=>{y.previousQuery===Di||Ne.value||(y.previousQuery=Di,n.filterable&&isFunction$1(n.filterMethod)?n.filterMethod(Di):n.filterable&&n.remote&&isFunction$1(n.remoteMethod)&&n.remoteMethod(Di),n.defaultFirstOption&&(n.filterable||n.remote)&&ri.value?nextTick(ii):nextTick(Li))},ii=()=>{const Di=oi.value.filter(Dn=>Dn.visible&&!Dn.disabled&&!Dn.states.groupDisabled),Fi=Di.find(Dn=>Dn.created),Zi=Di[0],Tn=oi.value.map(Dn=>Dn.value);y.hoveringIndex=di(Tn,Fi||Zi)},gi=()=>{if(n.multiple)y.selectedLabel="";else{const Fi=isArray$1(n.modelValue)?n.modelValue[0]:n.modelValue,Zi=yi(Fi);y.selectedLabel=Zi.currentLabel,y.selected=[Zi];return}const Di=[];isUndefined(n.modelValue)||castArray$1(n.modelValue).forEach(Fi=>{Di.push(yi(Fi))}),y.selected=Di},yi=Di=>{let Fi;const Zi=isPlainObject(Di);for(let Zn=y.cachedOptions.size-1;Zn>=0;Zn--){const Qi=bi.value[Zn];if(Zi?get(Qi.value,n.valueKey)===get(Di,n.valueKey):Qi.value===Di){Fi={value:Di,currentLabel:Qi.currentLabel,get isDisabled(){return Qi.isDisabled}};break}}if(Fi)return Fi;const Tn=Zi?Di.label:Di!=null?Di:"";return{value:Di,currentLabel:Tn}},Li=()=>{y.hoveringIndex=oi.value.findIndex(Di=>y.selected.some(Fi=>ai(Fi)===ai(Di)))},Pi=()=>{y.selectionWidth=Number.parseFloat(window.getComputedStyle(L.value).width)},xi=()=>{y.collapseItemWidth=le.value.getBoundingClientRect().width},Ai=()=>{var Di,Fi;(Fi=(Di=z.value)==null?void 0:Di.updatePopper)==null||Fi.call(Di)},Vi=()=>{var Di,Fi;(Fi=(Di=V.value)==null?void 0:Di.updatePopper)==null||Fi.call(Di)},Hi=()=>{y.inputValue.length>0&&!ue.value&&(ue.value=!0),At(y.inputValue)},qi=Di=>{if(y.inputValue=Di.target.value,n.remote)Sn();else return Hi()},Sn=debounce(()=>{Hi()},ui.value),wn=Di=>{isEqual(n.modelValue,Di)||e(CHANGE_EVENT,Di)},zi=Di=>findLastIndex$1(Di,Fi=>{const Zi=y.cachedOptions.get(Fi);return Zi&&!Zi.disabled&&!Zi.states.groupDisabled}),Yi=Di=>{if(n.multiple&&Di.code!==EVENT_CODE.delete&&Di.target.value.length<=0){const Fi=castArray$1(n.modelValue).slice(),Zi=zi(Fi);if(Zi<0)return;const Tn=Fi[Zi];Fi.splice(Zi,1),e(UPDATE_MODEL_EVENT,Fi),wn(Fi),e("remove-tag",Tn)}},Xi=(Di,Fi)=>{const Zi=y.selected.indexOf(Fi);if(Zi>-1&&!Et.value){const Tn=castArray$1(n.modelValue).slice();Tn.splice(Zi,1),e(UPDATE_MODEL_EVENT,Tn),wn(Tn),e("remove-tag",Fi.value)}Di.stopPropagation(),xn()},Ei=Di=>{Di.stopPropagation();const Fi=n.multiple?[]:xe.value;if(n.multiple)for(const Zi of y.selected)Zi.isDisabled&&Fi.push(Zi.value);e(UPDATE_MODEL_EVENT,Fi),wn(Fi),y.hoveringIndex=-1,ue.value=!1,e("clear"),xn()},Bi=Di=>{var Fi;if(n.multiple){const Zi=castArray$1((Fi=n.modelValue)!=null?Fi:[]).slice(),Tn=di(Zi,Di);Tn>-1?Zi.splice(Tn,1):(n.multipleLimit<=0||Zi.length{Ni(Di)})},di=(Di,Fi)=>isUndefined(Fi)?-1:isObject(Fi.value)?Di.findIndex(Zi=>isEqual(get(Zi,n.valueKey),ai(Fi))):Di.indexOf(Fi.value),Ni=Di=>{var Fi,Zi,Tn,Dn,Zn;const Qi=isArray$1(Di)?Di[0]:Di;let Ii=null;if(Qi!=null&&Qi.value){const Ki=oi.value.filter(Ji=>Ji.value===Qi.value);Ki.length>0&&(Ii=Ki[0].$el)}if(z.value&&Ii){const Ki=(Dn=(Tn=(Zi=(Fi=z.value)==null?void 0:Fi.popperRef)==null?void 0:Zi.contentRef)==null?void 0:Tn.querySelector)==null?void 0:Dn.call(Tn,".".concat(r.be("dropdown","wrap")));Ki&&scrollIntoView(Ki,Ii)}(Zn=de.value)==null||Zn.handleScroll()},Mi=Di=>{y.options.set(Di.value,Di),y.cachedOptions.set(Di.value,Di)},ji=(Di,Fi)=>{y.options.get(Di)===Fi&&y.options.delete(Di)},hn=computed$1(()=>{var Di,Fi;return(Fi=(Di=z.value)==null?void 0:Di.popperRef)==null?void 0:Fi.contentRef}),kn=()=>{y.isBeforeHide=!1,nextTick(()=>{var Di;(Di=de.value)==null||Di.update(),Ni(y.selected)})},xn=()=>{var Di;(Di=j.value)==null||Di.focus()},$n=()=>{var Di;if(ue.value){ue.value=!1,nextTick(()=>{var Fi;return(Fi=j.value)==null?void 0:Fi.blur()});return}(Di=j.value)==null||Di.blur()},Gn=Di=>{Ei(Di)},Mn=Di=>{if(ue.value=!1,qe.value){const Fi=new FocusEvent("blur",Di);nextTick(()=>Ve(Fi))}},bn=()=>{y.inputValue.length>0?y.inputValue="":ue.value=!1},Ri=()=>{Et.value||(isIOS&&(y.inputHovering=!0),y.menuVisibleOnFocus?y.menuVisibleOnFocus=!1:ue.value=!ue.value)},li=()=>{if(!ue.value)Ri();else{const Di=oi.value[y.hoveringIndex];Di&&!Di.isDisabled&&Bi(Di)}},ai=Di=>isObject(Di.value)?get(Di.value,n.valueKey):Di.value,vi=computed$1(()=>oi.value.filter(Di=>Di.visible).every(Di=>Di.isDisabled)),wi=computed$1(()=>n.multiple?n.collapseTags?y.selected.slice(0,n.maxCollapseTags):y.selected:[]),ki=computed$1(()=>n.multiple?n.collapseTags?y.selected.slice(n.maxCollapseTags):[]:[]),$i=Di=>{if(!ue.value){ue.value=!0;return}if(!(y.options.size===0||ri.value===0||Ne.value)&&!vi.value){Di==="next"?(y.hoveringIndex++,y.hoveringIndex===y.options.size&&(y.hoveringIndex=0)):Di==="prev"&&(y.hoveringIndex--,y.hoveringIndex<0&&(y.hoveringIndex=y.options.size-1));const Fi=oi.value[y.hoveringIndex];(Fi.isDisabled||!Fi.visible)&&$i(Di),nextTick(()=>Ni(he.value))}},Oi=()=>{if(!L.value)return 0;const Di=window.getComputedStyle(L.value);return Number.parseFloat(Di.gap||"6px")},Wi=computed$1(()=>{const Di=Oi(),Fi=n.filterable?Di+MINIMUM_INPUT_WIDTH:0,Zi=le.value&&n.maxCollapseTags===1?y.selectionWidth-y.collapseItemWidth-Di-Fi:y.selectionWidth-Fi;return{maxWidth:"".concat(Zi,"px")}}),Gi=computed$1(()=>({maxWidth:"".concat(y.selectionWidth,"px")})),_n=Di=>{e("popup-scroll",Di)};useResizeObserver(L,Pi),useResizeObserver(ze,Ai),useResizeObserver(ae,Vi),useResizeObserver(le,xi);let Cn;return watch(()=>si.value,Di=>{Di?Cn=useResizeObserver(re,Ai).stop:(Cn==null||Cn(),Cn=void 0)}),onMounted(()=>{gi()}),{inputId:Ce,contentId:i,nsSelect:r,nsInput:g,states:y,isFocused:qe,expanded:ue,optionsArray:oi,hoverOption:he,selectSize:ni,filteredOptionsCount:ri,updateTooltip:Ai,updateTagTooltip:Vi,debouncedOnInputChange:Sn,onInput:qi,deletePrevTag:Yi,deleteTag:Xi,deleteSelected:Ei,handleOptionSelect:Bi,scrollToOption:Ni,hasModelValue:kt,shouldShowPlaceholder:_i,currentPlaceholder:Pt,mouseEnterEventName:Lt,needStatusIcon:Ue,showClearBtn:Dt,iconComponent:jt,iconReverse:ei,validateState:ti,validateIcon:hi,showNewOption:Ti,updateOptions:Si,collapseTagSize:fi,setSelected:gi,selectDisabled:Et,emptyText:pi,handleCompositionStart:$e,handleCompositionUpdate:Oe,handleCompositionEnd:Fe,onOptionCreate:Mi,onOptionDestroy:ji,handleMenuEnter:kn,focus:xn,blur:$n,handleClearClick:Gn,handleClickOutside:Mn,handleEsc:bn,toggleMenu:Ri,selectOption:li,getValueKey:ai,navigateOptions:$i,dropdownMenuVisible:si,showTagList:wi,collapseTagList:ki,popupScroll:_n,tagStyle:Wi,collapseTagStyle:Gi,popperRef:hn,inputRef:j,tooltipRef:z,tagTooltipRef:V,prefixRef:ie,suffixRef:oe,selectRef:k,wrapperRef:ze,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(z){isArray$1(z)&&z.forEach(V=>{var j,ie,oe,re;const ae=(j=(V==null?void 0:V.type)||{})==null?void 0:j.name;ae==="ElOptionGroup"?L(!isString$1(V.children)&&!isArray$1(V.children)&&isFunction$1((ie=V.children)==null?void 0:ie.default)?(oe=V.children)==null?void 0:oe.default():V.children):ae==="ElOption"?k.push((re=V.props)==null?void 0:re.value):isArray$1(V.children)&&L(V.children)})}return y.length&&L((g=y[0])==null?void 0:g.children),isEqual(k,i)||(i=k,t&&(t.states.optionValues=k)),y}}});const selectProps=buildProps({name:String,id:String,modelValue:{type:definePropType([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:""},popperStyle:{type:definePropType([String,Object])},popperOptions:{type:definePropType(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:definePropType(Function)},filterMethod:{type:definePropType(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:useTooltipContentProps.appendTo,options:{type:definePropType(Array)},props:{type:definePropType(Object),default:()=>defaultProps$3},...useEmptyValuesProps,...useAriaProps(["ariaLabel"])});scrollbarEmits.scroll;const _sfc_main$x=defineComponent({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(n){const e=useNamespace("select"),t=ref$1(),i=getCurrentInstance$1(),r=ref$1([]);provide(selectGroupKey,reactive$1({...toRefs(n)}));const g=computed$1(()=>r.value.some(z=>z.visible===!0)),y=z=>{var V;return z.type.name==="ElOption"&&!!((V=z.component)!=null&&V.proxy)},k=z=>{const V=castArray$1(z),j=[];return V.forEach(ie=>{var oe;isVNode(ie)&&(y(ie)?j.push(ie.component.proxy):isArray$1(ie.children)&&ie.children.length?j.push(...k(ie.children)):(oe=ie.component)!=null&&oe.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$8(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$1(_sfc_main$x,[["render",_sfc_render$8],["__file","option-group.vue"]]);const COMPONENT_NAME$5="ElSelect",_sfc_main$w=defineComponent({name:COMPONENT_NAME$5,componentName:COMPONENT_NAME$5,components:{ElSelectMenu,ElOption:Option,ElOptions,ElOptionGroup:OptionGroup,ElTag,ElScrollbar,ElTooltip,ElIcon},directives:{ClickOutside},props:selectProps,emits:[UPDATE_MODEL_EVENT,CHANGE_EVENT,"remove-tag","clear","visible-change","focus","blur","popup-scroll"],setup(n,{emit:e,slots:t}){const i=getCurrentInstance$1();i.appContext.config.warnHandler=(...de)=>{!de[0]||de[0].includes('Slot "default" invoked outside of the render function')||console.warn(...de)};const r=computed$1(()=>{const{modelValue:de,multiple:ue}=n,he=ue?[]:void 0;return isArray$1(de)?ue?de:he:ue?he:de}),g=reactive$1({...toRefs(n),modelValue:r}),y=useSelect(g,e),{calculatorRef:k,inputStyle:L}=useCalcInputWidth(),{getLabel:z,getValue:V,getOptions:j,getDisabled:ie}=useProps(n),oe=de=>({label:z(de),value:V(de),disabled:ie(de)}),re=de=>de.reduce((ue,he)=>(ue.push(he),he.children&&he.children.length>0&&ue.push(...re(he.children)),ue),[]),ae=de=>{flattedChildren(de||[]).forEach(he=>{var pe;if(isObject(he)&&(he.type.name==="ElOption"||he.type.name==="ElTree")){const _e=he.type.name;if(_e==="ElTree"){const Ce=((pe=he.props)==null?void 0:pe.data)||[];re(Ce).forEach(Ie=>{Ie.currentLabel=Ie.label||(isObject(Ie.value)?"":Ie.value),y.onOptionCreate(Ie)})}else if(_e==="ElOption"){const Ce={...he.props};Ce.currentLabel=Ce.label||(isObject(Ce.value)?"":Ce.value),y.onOptionCreate(Ce)}}})};watch(()=>{var de;return(de=t.default)==null?void 0:de.call(t)},de=>{n.persistent||ae(de)},{immediate:!0}),provide(selectKey,reactive$1({props:g,states:y.states,selectRef:y.selectRef,optionsArray:y.optionsArray,setSelected:y.setSelected,handleOptionSelect:y.handleOptionSelect,onOptionCreate:y.onOptionCreate,onOptionDestroy:y.onOptionDestroy}));const le=computed$1(()=>n.multiple?y.states.selected.map(de=>de.currentLabel):y.states.selectedLabel);return onBeforeUnmount(()=>{i.appContext.config.warnHandler=void 0}),{...y,modelValue:r,selectedLabel:le,calculatorRef:k,inputStyle:L,getLabel:z,getValue:V,getOptions:j,getDisabled:ie,getOptionProps:oe}}});function _sfc_render$7(n,e){const t=resolveComponent("el-tag"),i=resolveComponent("el-tooltip"),r=resolveComponent("el-icon"),g=resolveComponent("el-option"),y=resolveComponent("el-option-group"),k=resolveComponent("el-options"),L=resolveComponent("el-scrollbar"),z=resolveComponent("el-select-menu"),V=resolveDirective("click-outside");return withDirectives((openBlock(),createElementBlock("div",{ref:"selectRef",class:normalizeClass([n.nsSelect.b(),n.nsSelect.m(n.selectSize)]),[toHandlerKey(n.mouseEnterEventName)]:j=>n.states.inputHovering=!0,onMouseleave:j=>n.states.inputHovering=!1},[createVNode(i,{ref:"tooltipRef",visible:n.dropdownMenuVisible,placement:n.placement,teleported:n.teleported,"popper-class":[n.nsSelect.e("popper"),n.popperClass],"popper-style":n.popperStyle,"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:j=>n.states.isBeforeHide=!1},{default:withCtx(()=>{var j;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,data:n.states.selected,deleteTag:n.deleteTag,selectDisabled:n.selectDisabled},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.showTagList,ie=>(openBlock(),createElementBlock("div",{key:n.getValueKey(ie),class:normalizeClass(n.nsSelect.e("selected-item"))},[createVNode(t,{closable:!n.selectDisabled&&!ie.isDisabled,size:n.collapseTagSize,type:n.tagType,effect:n.tagEffect,"disable-transitions":"",style:normalizeStyle(n.tagStyle),onClose:oe=>n.deleteTag(oe,ie)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(n.nsSelect.e("tags-text"))},[renderSlot(n.$slots,"label",{label:ie.currentLabel,value:ie.value},()=>[createTextVNode(toDisplayString(ie.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),n.collapseTags&&n.states.selected.length>n.maxCollapseTags?(openBlock(),createBlock(i,{key:0,ref:"tagTooltipRef",disabled:n.dropdownMenuVisible||!n.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:n.effect,placement:"bottom","popper-class":n.popperClass,"popper-style":n.popperStyle,teleported:n.teleported},{default:withCtx(()=>[createBaseVNode("div",{ref:"collapseItemRef",class:normalizeClass(n.nsSelect.e("selected-item"))},[createVNode(t,{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,ie=>(openBlock(),createElementBlock("div",{key:n.getValueKey(ie),class:normalizeClass(n.nsSelect.e("selected-item"))},[createVNode(t,{class:"in-tooltip",closable:!n.selectDisabled&&!ie.isDisabled,size:n.collapseTagSize,type:n.tagType,effect:n.tagEffect,"disable-transitions":"",onClose:oe=>n.deleteTag(oe,ie)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(n.nsSelect.e("tags-text"))},[renderSlot(n.$slots,"label",{label:ie.currentLabel,value:ie.value},()=>[createTextVNode(toDisplayString(ie.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","popper-class","popper-style","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":ie=>n.states.inputValue=ie,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":((j=n.hoverOption)==null?void 0:j.id)||"","aria-controls":n.contentId,"aria-expanded":n.dropdownMenuVisible,"aria-label":n.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:[withKeys(withModifiers(ie=>n.navigateOptions("next"),["stop","prevent"]),["down"]),withKeys(withModifiers(ie=>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.showClearBtn?(openBlock(),createBlock(r,{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.showClearBtn&&n.clearIcon?(openBlock(),createBlock(r,{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(r,{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(z,{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(L,{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",onScroll:n.popupScroll},{default:withCtx(()=>[n.showNewOption?(openBlock(),createBlock(g,{key:0,value:n.states.inputValue,created:!0},null,8,["value"])):createCommentVNode("v-if",!0),createVNode(k,null,{default:withCtx(()=>[renderSlot(n.$slots,"default",{},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.options,(j,ie)=>{var oe;return openBlock(),createElementBlock(Fragment,{key:ie},[(oe=n.getOptions(j))!=null&&oe.length?(openBlock(),createBlock(y,{key:0,label:n.getLabel(j),disabled:n.getDisabled(j)},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.getOptions(j),re=>(openBlock(),createBlock(g,mergeProps({key:n.getValue(re)},n.getOptionProps(re)),null,16))),128))]),_:2},1032,["label","disabled"])):(openBlock(),createBlock(g,normalizeProps(mergeProps({key:1},n.getOptionProps(j))),null,16))],64)}),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll"]),[[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-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow","onHide"])],16,["onMouseleave"])),[[V,n.handleClickOutside,n.popperRef]])}var Select=_export_sfc$1(_sfc_main$w,[["render",_sfc_render$7],["__file","select.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__$h=defineComponent({name:"ElPaginationSizes"}),_sfc_main$v=defineComponent({...__default__$h,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,(z,V)=>{if(!isEqual(z,V)&&isArray$1(z)){const j=z.includes(t.pageSize)?t.pageSize:t.pageSizes[0];e("page-size-change",j)}}),watch(()=>t.pageSize,z=>{y.value=z});const k=computed$1(()=>t.pageSizes);function L(z){var V;z!==y.value&&(y.value=z,(V=g.handleSizeChange)==null||V.call(g,Number(z)))}return(z,V)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(r).e("sizes"))},[createVNode(unref(ElSelect),{"model-value":y.value,disabled:z.disabled,"popper-class":z.popperClass,size:z.size,teleported:z.teleported,"validate-event":!1,"append-to":z.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$1(_sfc_main$v,[["__file","sizes.vue"]]);const paginationJumperProps=buildProps({size:{type:String,values:componentSizes}}),__default__$g=defineComponent({name:"ElPaginationJumper"}),_sfc_main$u=defineComponent({...__default__$g,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 z(j){k.value=j?+j:""}function V(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":z,onChange:V},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$1(_sfc_main$u,[["__file","jumper.vue"]]);const paginationTotalProps=buildProps({total:{type:Number,default:1e3}}),__default__$f=defineComponent({name:"ElPaginationTotal"}),_sfc_main$t=defineComponent({...__default__$f,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$1(_sfc_main$t,[["__file","total.vue"]]);const paginationPagerProps=buildProps({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),__default__$e=defineComponent({name:"ElPaginationPager"}),_sfc_main$s=defineComponent({...__default__$e,props:paginationPagerProps,emits:[CHANGE_EVENT],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),z=ref$1(!1),V=ref$1(!1),j=ref$1(!1),ie=computed$1(()=>{const pe=t.pagerCount,_e=(pe-1)/2,Ce=Number(t.currentPage),xe=Number(t.pageCount);let Ie=!1,Ne=!1;xe>pe&&(Ce>pe-_e&&(Ie=!0),Ce["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);watch(()=>[t.pageCount,t.pagerCount,t.currentPage],([pe,_e,Ce])=>{const xe=(_e-1)/2;let Ie=!1,Ne=!1;pe>_e&&(Ie=Ce>_e-xe,Ne=Cexe&&(Ce=xe)),Ce!==Ie&&e(CHANGE_EVENT,Ce)}return(pe,_e)=>(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:Ce=>le(!0),onMouseleave:Ce=>L.value=!1,onFocus:Ce=>de(!0),onBlur:Ce=>V.value=!1},[(L.value||V.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),Ce=>(openBlock(),createElementBlock("li",{key:Ce,class:normalizeClass([[unref(i).is("active",pe.currentPage===Ce),unref(i).is("disabled",pe.disabled)],"number"]),"aria-current":pe.currentPage===Ce,"aria-label":unref(g)("el.pagination.currentPage",{pager:Ce}),tabindex:unref(ae)},toDisplayString(Ce),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:Ce=>le(),onMouseleave:Ce=>z.value=!1,onFocus:Ce=>de(),onBlur:Ce=>j.value=!1},[(z.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$1(_sfc_main$s,[["__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 _e;return n.small?"small":(_e=n.size)!=null?_e: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,z="onUpdate:pageSize"in g||"onUpdate:page-size"in g||"onSizeChange"in g,V=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)&&!z)return!1}else if(!z)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(_e){isAbsent(n.pageSize)&&(j.value=_e),z&&(e("update:page-size",_e),e("size-change",_e))}}),re=computed$1(()=>{let _e=0;return isAbsent(n.pageCount)?isAbsent(n.total)||(_e=Math.max(1,Math.ceil(n.total/oe.value))):_e=n.pageCount,_e}),ae=computed$1({get(){return isAbsent(n.currentPage)?ie.value:n.currentPage},set(_e){let Ce=_e;_e<1?Ce=1:_e>re.value&&(Ce=re.value),isAbsent(n.currentPage)&&(ie.value=Ce),L&&(e("update:current-page",Ce),e("current-change",Ce))}});watch(re,_e=>{ae.value>_e&&(ae.value=_e)}),watch([ae,oe],_e=>{e(CHANGE_EVENT,..._e)},{flush:"post"});function le(_e){ae.value=_e}function de(_e){oe.value=_e;const Ce=re.value;ae.value>Ce&&(ae.value=Ce)}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(_e,Ce){_e&&(_e.props||(_e.props={}),_e.props.class=[_e.props.class,Ce].join(" "))}return provide(elPaginationKey,{pageCount:re,disabled:computed$1(()=>n.disabled),currentPage:ae,changeEvent:le,handleSizeChange:de}),()=>{var _e,Ce;if(!V.value)return i("el.pagination.deprecationWarning"),null;if(!n.layout||n.hideOnSinglePage&&re.value<=1)return null;const xe=[],Ie=[],Ne=h$2("div",{class:r.e("rightwrapper")},Ie),$e={prev:h$2(Prev,{disabled:n.disabled,currentPage:ae.value,prevText:n.prevText,prevIcon:n.prevIcon,onClick:ue}),jumper:h$2(Jumper,{size:k.value}),pager:h$2(Pager,{currentPage:ae.value,pageCount:re.value,pagerCount:n.pagerCount,onChange:le,disabled:n.disabled}),next:h$2(Next,{disabled:n.disabled,currentPage:ae.value,pageCount:re.value,nextText:n.nextText,nextIcon:n.nextIcon,onClick:he}),sizes:h$2(Sizes,{pageSize:oe.value,pageSizes:n.pageSizes,popperClass:n.popperClass,disabled:n.disabled,teleported:n.teleported,size:k.value,appendSizeTo:n.appendSizeTo}),slot:(Ce=(_e=t==null?void 0:t.default)==null?void 0:_e.call(t))!=null?Ce:null,total:h$2(Total,{total:isAbsent(n.total)?0:n.total})},Oe=n.layout.split(",").map(Et=>Et.trim());let Fe=!1;return Oe.forEach(Et=>{if(Et==="->"){Fe=!0;return}Fe?Ie.push($e[Et]):xe.push($e[Et])}),pe(xe[0],r.is("first")),pe(xe[xe.length-1],r.is("last")),Fe&&Ie.length>0&&(pe(Ie[0],r.is("first")),pe(Ie[Ie.length-1],r.is("last")),xe.push(Ne)),h$2("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__$d=defineComponent({name:"ElProgress"}),_sfc_main$r=defineComponent({...__default__$d,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),z=computed$1(()=>e.type==="dashboard"?.75:1),V=computed$1(()=>{const he=-1*L.value*(1-z.value)/2;return"".concat(he,"px")}),j=computed$1(()=>({strokeDasharray:"".concat(L.value*z.value,"px, ").concat(L.value,"px"),strokeDashoffset:V.value})),ie=computed$1(()=>({strokeDasharray:"".concat(L.value*z.value*(e.percentage/100),"px, ").concat(L.value,"px"),strokeDashoffset:V.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((Ce,xe)=>isString$1(Ce)?{color:Ce,percentage:(xe+1)*pe}:Ce).sort((Ce,xe)=>Ce.percentage-xe.percentage)}const ue=he=>{var pe;const{color:_e}=e;if(isFunction$1(_e))return _e(he);if(isString$1(_e))return _e;{const Ce=de(_e);for(const xe of Ce)if(xe.percentage>he)return xe.color;return(pe=Ce[Ce.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$1(_sfc_main$r,[["__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__$c=defineComponent({name:"ElRow"}),_sfc_main$q=defineComponent({...__default__$c,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$1(_sfc_main$q,[["__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)},STEPS_INJECTION_KEY="ElSteps",__default__$b=defineComponent({name:"ElSteps"}),_sfc_main$p=defineComponent({...__default__$b,props:stepsProps,emits:stepsEmits,setup(n,{emit:e}){const t=n,i=useNamespace("steps"),{children:r,addChild:g,removeChild:y,ChildrenSorter:k}=useOrderedChildren(getCurrentInstance$1(),"ElStep");return watch(r,()=>{r.value.forEach((L,z)=>{L.setIndex(z)})}),provide(STEPS_INJECTION_KEY,{props:t,steps:r,addStep:g,removeStep:y}),watch(()=>t.active,(L,z)=>{e(CHANGE_EVENT,L,z)}),(L,z)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b(),unref(i).m(L.simple?"simple":L.direction)])},[renderSlot(L.$slots,"default"),createVNode(unref(k))],2))}});var Steps=_export_sfc$1(_sfc_main$p,[["__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__$a=defineComponent({name:"ElStep"}),_sfc_main$o=defineComponent({...__default__$a,props:stepProps,setup(n){const e=n,t=useNamespace("step"),i=ref$1(-1),r=ref$1({}),g=ref$1(""),y=inject(STEPS_INJECTION_KEY),k=getCurrentInstance$1();onMounted(()=>{watch([()=>y.props.active,()=>y.props.processStatus,()=>y.props.finishStatus],([Ce])=>{pe(Ce)},{immediate:!0})});const L=computed$1(()=>e.status||g.value),z=computed$1(()=>{const Ce=y.steps.value[i.value-1];return Ce?Ce.internalStatus.value:"wait"}),V=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 Ce;return((Ce=y.steps.value[oe.value-1])==null?void 0:Ce.uid)===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&&!V.value),t.is("center",V.value&&!j.value&&!ie.value)]),de=computed$1(()=>{const Ce={flexBasis:isNumber(ae.value)?"".concat(ae.value,"px"):ae.value?ae.value:"".concat(100/(oe.value-(V.value?0:1)),"%")};return j.value||re.value&&(Ce.maxWidth="".concat(100/oe.value,"%")),Ce}),ue=Ce=>{i.value=Ce},he=Ce=>{const xe=Ce==="wait",Ie={transitionDelay:"".concat(xe?"-":"").concat(150*i.value,"ms")},Ne=Ce===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=Ce=>{Ce>i.value?g.value=y.props.finishStatus:Ce===i.value&&z.value!=="error"?g.value=y.props.processStatus:g.value="wait";const xe=y.steps.value[i.value-1];xe&&xe.calcProgress(g.value)},_e={uid:k.uid,getVnode:()=>k.vnode,currentStatus:L,internalStatus:g,setIndex:ue,calcProgress:he};return y.addStep(_e),onBeforeUnmount(()=>{y.removeStep(_e)}),(Ce,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(Ce.icon||Ce.$slots.icon?"icon":"text")])},[renderSlot(Ce.$slots,"icon",{},()=>[Ce.icon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(t).e("icon-inner"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(Ce.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(Ce.$slots,"title",{},()=>[createTextVNode(toDisplayString(Ce.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(Ce.$slots,"description",{},()=>[createTextVNode(toDisplayString(Ce.description),1)])],2))],2)],6))}});var Step=_export_sfc$1(_sfc_main$o,[["__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$1(n)||isNumber(n),[CHANGE_EVENT]:n=>isBoolean(n)||isString$1(n)||isNumber(n),[INPUT_EVENT]:n=>isBoolean(n)||isString$1(n)||isNumber(n)},COMPONENT_NAME$4="ElSwitch",__default__$9=defineComponent({name:COMPONENT_NAME$4}),_sfc_main$n=defineComponent({...__default__$9,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)),z=ref$1(i.modelValue!==!1),V=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,()=>{z.value=!0});const le=computed$1(()=>z.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,_e=>{var Ce;V.value.checked=_e,i.validateEvent&&((Ce=r==null?void 0:r.validate)==null||Ce.call(r,"change").catch(xe=>void 0))});const ue=()=>{const _e=de.value?i.inactiveValue:i.activeValue;t(UPDATE_MODEL_EVENT,_e),t(CHANGE_EVENT,_e),t(INPUT_EVENT,_e),nextTick(()=>{V.value.checked=de.value})},he=()=>{if(L.value)return;const{beforeChange:_e}=i;if(!_e){ue();return}const Ce=_e();[isPromise(Ce),isBoolean(Ce)].includes(!0)||throwError(COMPONENT_NAME$4,"beforeChange must return type `Promise` or `boolean`"),isPromise(Ce)?Ce.then(Ie=>{Ie&&ue()}).catch(Ie=>{}):Ce&&ue()},pe=()=>{var _e,Ce;(Ce=(_e=V.value)==null?void 0:_e.focus)==null||Ce.call(_e)};return onMounted(()=>{V.value.checked=de.value}),e({focus:pe,checked:de}),(_e,Ce)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(ie)),onClick:withModifiers(he,["prevent"])},[createBaseVNode("input",{id:unref(k),ref_key:"input",ref:V,class:normalizeClass(unref(y).e("input")),type:"checkbox",role:"switch","aria-checked":unref(de),"aria-disabled":unref(L),"aria-label":_e.ariaLabel,name:_e.name,"true-value":_e.activeValue,"false-value":_e.inactiveValue,disabled:unref(L),tabindex:_e.tabindex,onChange:ue,onKeydown:withKeys(he,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),!_e.inlinePrompt&&(_e.inactiveIcon||_e.inactiveText)?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(oe))},[_e.inactiveIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(_e.inactiveIcon)))]),_:1})):createCommentVNode("v-if",!0),!_e.inactiveIcon&&_e.inactiveText?(openBlock(),createElementBlock("span",{key:1,"aria-hidden":unref(de)},toDisplayString(_e.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))},[_e.inlinePrompt?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(y).e("inner"))},[_e.activeIcon||_e.inactiveIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(y).is("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(de)?_e.activeIcon:_e.inactiveIcon)))]),_:1},8,["class"])):_e.activeText||_e.inactiveText?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(y).is("text")),"aria-hidden":!unref(de)},toDisplayString(unref(de)?_e.activeText:_e.inactiveText),11,["aria-hidden"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(y).e("action"))},[_e.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(_e.$slots,"active-action",{key:1},()=>[_e.activeActionIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(_e.activeActionIcon)))]),_:1})):createCommentVNode("v-if",!0)]):unref(de)?createCommentVNode("v-if",!0):renderSlot(_e.$slots,"inactive-action",{key:2},()=>[_e.inactiveActionIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(_e.inactiveActionIcon)))]),_:1})):createCommentVNode("v-if",!0)])],2)],6),!_e.inlinePrompt&&(_e.activeIcon||_e.activeText)?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(re))},[_e.activeIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(_e.activeIcon)))]),_:1})):createCommentVNode("v-if",!0),!_e.activeIcon&&_e.activeText?(openBlock(),createElementBlock("span",{key:1,"aria-hidden":!unref(de)},toDisplayString(_e.activeText),9,["aria-hidden"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],10,["onClick"]))}});var Switch=_export_sfc$1(_sfc_main$n,[["__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$1(r)&&!r.length))return n;isString$1(t)?t=t==="descending"?-1:1:t=t&&t<0?-1:1;const g=i?null:function(k,L){return r?flatMap(castArray$1(r),z=>isString$1(z)?get(k,z):z(k,L,n)):(e!=="$key"&&isObject(k)&&"$value"in k&&(k=k.$value),[isObject(k)?e?get(k,e):null:k])},y=function(k,L){var z,V,j,ie,oe,re;if(i)return i(k.value,L.value);for(let ae=0,le=(V=(z=k.key)==null?void 0:z.length)!=null?V:0;ae((re=L.key)==null?void 0:re[ae]))return 1}return 0};return n.map((k,L)=>({value:k,index:L,key:g?g(k,L):null})).sort((k,L)=>{let z=y(k,L);return z||(z=k.index-L.index),z*+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$1(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$1(e))return e.call(null,n);return""},getKeysMap=function(n,e,t=!1,i="children"){const r=n||[],g={};return r.forEach((y,k)=>{if(g[getRowIdentity(y,e)]={row:y,index:k},t){const L=y[i];isArray$1(L)&&Object.assign(g,getKeysMap(L,e,!0,i))}}),g};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$1(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,y){let k=g!=null?g:0,L=!1;const V=(()=>{if(!y)return n.indexOf(e);const ae=getRowIdentity(e,y);return n.findIndex(le=>getRowIdentity(le,y)===ae)})(),j=V!==-1,ie=r==null?void 0:r.call(null,e,k),oe=ae=>{ae==="add"?n.push(e):n.splice(V,1),L=!0},re=ae=>{let le=0;const de=(i==null?void 0:i.children)&&ae[i.children];return de&&isArray$1(de)&&(le+=de.length,de.forEach(ue=>{le+=re(ue)})),le};return(!r||ie)&&(isBoolean(t)?t&&!j?oe("add"):!t&&j&&oe("remove"):oe(j?"remove":"add")),!(i!=null&&i.checkStrictly)&&(i!=null&&i.children)&&isArray$1(e[i.children])&&e[i.children].forEach(ae=>{const le=toggleRowStatus(n,ae,t!=null?t:!j,i,r,k+1,y);k+=re(ae)+1,le&&(L=le)}),L}function walkTreeNode(n,e,t="children",i="hasChildren",r=!1){const g=k=>!(isArray$1(k)&&k.length);function y(k,L,z){e(k,L,z),L.forEach(V=>{if(V[i]&&r){e(V,null,z+1);return}const j=V[t];g(j)||y(V,j,z+1)})}n.forEach(k=>{if(k[i]&&r){e(k,null,0);return}const L=k[t];g(L)||y(k,L,0)})}const getTableOverflowTooltipProps=(n,e,t,i)=>{const r={strategy:"fixed",...n.popperOptions},g=isFunction$1(i==null?void 0:i.tooltipFormatter)?i.tooltipFormatter({row:t,column:i,cellValue:getProp(t,i.property).value}):void 0;return isVNode(g)?{slotContent:g,content:null,...n,popperOptions:r}:{slotContent:null,content:g!=null?g:e,...n,popperOptions:r}};let removePopper=null;function createTablePopper(n,e,t,i,r,g){var y;const k=getTableOverflowTooltipProps(n,e,t,i),L={...k,slotContent:void 0};if((removePopper==null?void 0:removePopper.trigger)===r){const re=(y=removePopper.vm)==null?void 0:y.component;merge$1(re==null?void 0:re.props,L),re&&k.slotContent&&(re.slots.content=()=>[k.slotContent]);return}removePopper==null||removePopper();const z=g==null?void 0:g.refs.tableWrapper,V=z==null?void 0:z.dataset.prefix,j=createVNode(ElTooltip,{virtualTriggering:!0,virtualRef:r,appendTo:z,placement:"top",transition:"none",offset:0,hideAfter:0,...L},k.slotContent?{content:()=>k.slotContent}:void 0);j.appContext={...g.appContext,...g};const ie=document.createElement("div");render(j,ie),j.component.exposed.onOpen();const oe=z==null?void 0:z.querySelector(".".concat(V,"-scrollbar__wrap"));removePopper=()=>{var re,ae;(ae=(re=j.component)==null?void 0:re.exposed)!=null&&ae.onClose&&j.component.exposed.onClose(),render(null,ie);const le=removePopper;oe==null||oe.removeEventListener("scroll",le),le.trigger=void 0,le.vm=void 0,removePopper=null},removePopper.trigger=r!=null?r:void 0,removePopper.vm=j,oe==null||oe.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:z}=isFixedColumn(e,t,i,r);if(k){const V=k==="left";y.push("".concat(n,"-fixed-column--").concat(k)),V&&z+g===i.states.fixedLeafColumnsLength.value-1?y.push("is-last-column"):!V&&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",z=t.states.columns.value;return L?k.left=z.slice(0,g).reduce(getOffset,0):k.right=z.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||[],z=n.rowKey.value;if(t.value)i.value=L.slice();else if(z){const V=getKeysMap(i.value,z);i.value=L.reduce((j,ie)=>{const oe=getRowIdentity(ie,z);return V[oe]&&j.push(ie),j},[])}else i.value=[]},toggleRowExpansion:(L,z)=>{toggleRowStatus(i.value,L,z,void 0,void 0,void 0,n.rowKey.value)&&e.emit("expand-change",L,i.value.slice())},setExpandRowKeys:L=>{e.store.assertRowKey();const z=n.data.value||[],V=n.rowKey.value,j=getKeysMap(z,V);i.value=L.reduce((ie,oe)=>{const re=j[oe];return re&&ie.push(re.row),ie},[])},isRowExpanded:L=>{const z=n.rowKey.value;return z?!!getKeysMap(i.value,z)[getRowIdentity(L,z)]: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=z=>{e.store.assertRowKey(),t.value=z,y(z)},g=()=>{t.value=null},y=z=>{var V;const{data:j,rowKey:ie}=n;let oe=null;ie.value&&(oe=(V=(unref(j)||[]).find(re=>getRowIdentity(re,ie.value)===z))!=null?V:null),i.value=oe!=null?oe:null,e.emit("current-change",i.value,null)};return{setCurrentRowKey:r,restoreCurrentRowKey:g,setCurrentRowByKey:y,updateCurrentRow:z=>{const V=i.value;if(z&&z!==V){i.value=z,e.emit("current-change",i.value,V);return}!z&&V&&(i.value=null,e.emit("current-change",null,V))},updateCurrentRowData:()=>{const z=n.rowKey.value,V=n.data.value||[],j=i.value;if(j&&!V.includes(j)){if(z){const ie=getRowIdentity(j,z);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),z=getCurrentInstance$1(),V=computed$1(()=>{if(!n.rowKey.value)return{};const pe=n.data.value||[];return ie(pe)}),j=computed$1(()=>{const pe=n.rowKey.value,_e=Object.keys(g.value),Ce={};return _e.length&&_e.forEach(xe=>{if(g.value[xe].length){const Ie={children:[]};g.value[xe].forEach(Ne=>{const $e=getRowIdentity(Ne,pe);Ie.children.push($e),Ne[y.value]&&!Ce[$e]&&(Ce[$e]={children:[]})}),Ce[xe]=Ie}}),Ce}),ie=pe=>{const _e=n.rowKey.value,Ce={};return walkTreeNode(pe,(xe,Ie,Ne)=>{const $e=getRowIdentity(xe,_e);isArray$1(Ie)?Ce[$e]={children:Ie.map(Oe=>getRowIdentity(Oe,_e)),level:Ne}:r.value&&(Ce[$e]={children:[],lazy:!0,level:Ne})},k.value,y.value,r.value),Ce},oe=(pe=!1,_e)=>{var Ce,xe;_e||(_e=(Ce=z.store)==null?void 0:Ce.states.defaultExpandAll.value);const Ie=V.value,Ne=j.value,$e=Object.keys(Ie),Oe={};if($e.length){const Fe=unref(t),Et=[],ze=(Ve,kt)=>{if(pe)return e.value?_e||e.value.includes(kt):!!(_e||Ve!=null&&Ve.expanded);{const Ue=_e||e.value&&e.value.includes(kt);return!!(Ve!=null&&Ve.expanded||Ue)}};$e.forEach(Ve=>{const kt=Fe[Ve],Ue={...Ie[Ve]};if(Ue.expanded=ze(kt,Ve),Ue.lazy){const{loaded:Dt=!1,loading:jt=!1}=kt||{};Ue.loaded=!!Dt,Ue.loading=!!jt,Et.push(Ve)}Oe[Ve]=Ue});const qe=Object.keys(Ne);r.value&&qe.length&&Et.length&&qe.forEach(Ve=>{var kt;const Ue=Fe[Ve],Dt=Ne[Ve].children;if(Et.includes(Ve)){if(((kt=Oe[Ve].children)==null?void 0:kt.length)!==0)throw new Error("[ElTable]children must be an empty array.");Oe[Ve].children=Dt}else{const{loaded:jt=!1,loading:ei=!1}=Ue||{};Oe[Ve]={lazy:!0,loaded:!!jt,loading:!!ei,expanded:ze(Ue,Ve),children:Dt,level:void 0}}})}t.value=Oe,(xe=z.store)==null||xe.updateTableScrollY()};watch(()=>e.value,()=>{oe(!0)}),watch(()=>V.value,()=>{oe()}),watch(()=>j.value,()=>{oe()});const re=pe=>{e.value=pe,oe()},ae=pe=>r.value&&pe&&"loaded"in pe&&!pe.loaded,le=(pe,_e)=>{z.store.assertRowKey();const Ce=n.rowKey.value,xe=getRowIdentity(pe,Ce),Ie=xe&&t.value[xe];if(xe&&Ie&&"expanded"in Ie){const Ne=Ie.expanded;_e=isUndefined(_e)?!Ie.expanded:_e,t.value[xe].expanded=_e,Ne!==_e&&z.emit("expand-change",pe,_e),ae(Ie)&&ue(pe,xe,Ie),z.store.updateTableScrollY()}},de=pe=>{z.store.assertRowKey();const _e=n.rowKey.value,Ce=getRowIdentity(pe,_e),xe=t.value[Ce];ae(xe)?ue(pe,Ce,xe):le(pe,void 0)},ue=(pe,_e,Ce)=>{const{load:xe}=z.props;xe&&!t.value[_e].loaded&&(t.value[_e].loading=!0,xe(pe,Ce,Ie=>{if(!isArray$1(Ie))throw new TypeError("[ElTable] data must be an array");t.value[_e].loading=!1,t.value[_e].loaded=!0,t.value[_e].expanded=!0,Ie.length&&(g.value[_e]=Ie),z.emit("expand-change",pe,!0)}))};return{loadData:ue,loadOrToggle:de,toggleTreeExpansion:le,updateTreeExpandKeys:re,updateTreeData:oe,updateKeyChildren:(pe,_e)=>{const{lazy:Ce,rowKey:xe}=z.props;if(Ce){if(!xe)throw new Error("[Table] rowKey is required in updateKeyChild");g.value[pe]&&(g.value[pe]=_e)}},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$1(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([]),z=ref$1([]),V=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([]),_e=ref$1(!1),Ce=ref$1(!1),xe=ref$1(null),Ie=ref$1({}),Ne=ref$1(null),$e=ref$1(null),Oe=ref$1(null),Fe=ref$1(null),Et=ref$1(null),ze=computed$1(()=>i.value?getKeysMap(pe.value,i.value):void 0);watch(r,()=>{var zi;e.state&&(Ue(!1),e.props.tableLayout==="auto"&&((zi=e.refs.tableHeaderRef)==null||zi.updateFixedColumnStyle()))},{deep:!0});const qe=()=>{if(!i.value)throw new Error("[ElTable] prop row-key is required")},Ve=zi=>{var Yi;(Yi=zi.children)==null||Yi.forEach(Xi=>{Xi.fixed=zi.fixed,Ve(Xi)})},kt=()=>{k.value.forEach(Ni=>{Ve(Ni)}),V.value=k.value.filter(Ni=>[!0,"left"].includes(Ni.fixed));const zi=k.value.find(Ni=>Ni.type==="selection");let Yi;zi&&zi.fixed!=="right"&&!V.value.includes(zi)&&k.value.indexOf(zi)===0&&V.value.length&&(V.value.unshift(zi),Yi=!0),j.value=k.value.filter(Ni=>Ni.fixed==="right");const Xi=k.value.filter(Ni=>(Yi?Ni.type!=="selection":!0)&&!Ni.fixed);L.value=Array.from(V.value).concat(Xi).concat(j.value);const Ei=doFlattenColumns(Xi),Bi=doFlattenColumns(V.value),di=doFlattenColumns(j.value);le.value=Ei.length,de.value=Bi.length,ue.value=di.length,z.value=Array.from(Bi).concat(Ei).concat(di),y.value=V.value.length>0||j.value.length>0},Ue=(zi,Yi=!1)=>{zi&&kt(),Yi?e.state.doLayout():e.state.debouncedUpdateLayout()},Dt=zi=>ze.value?!!ze.value[getRowIdentity(zi,i.value)]:pe.value.includes(zi),jt=()=>{he.value=!1;const zi=pe.value;pe.value=[],zi.length&&e.emit("selection-change",[])},ei=()=>{var zi,Yi;let Xi;if(i.value){Xi=[];const Ei=(Yi=(zi=e==null?void 0:e.store)==null?void 0:zi.states)==null?void 0:Yi.childrenColumnName.value,Bi=getKeysMap(r.value,i.value,!0,Ei);for(const di in ze.value)hasOwn(ze.value,di)&&!Bi[di]&&Xi.push(ze.value[di].row)}else Xi=pe.value.filter(Ei=>!r.value.includes(Ei));if(Xi.length){const Ei=pe.value.filter(Bi=>!Xi.includes(Bi));pe.value=Ei,e.emit("selection-change",Ei.slice())}},ti=()=>(pe.value||[]).slice(),hi=(zi,Yi,Xi=!0,Ei=!1)=>{var Bi,di,Ni,Mi;const ji={children:(di=(Bi=e==null?void 0:e.store)==null?void 0:Bi.states)==null?void 0:di.childrenColumnName.value,checkStrictly:(Mi=(Ni=e==null?void 0:e.store)==null?void 0:Ni.states)==null?void 0:Mi.checkStrictly.value};if(toggleRowStatus(pe.value,zi,Yi,ji,Ei?void 0:xe.value,r.value.indexOf(zi),i.value)){const kn=(pe.value||[]).slice();Xi&&e.emit("select",kn,zi),e.emit("selection-change",kn)}},ui=()=>{var zi,Yi;const Xi=Ce.value?!he.value:!(he.value||pe.value.length);he.value=Xi;let Ei=!1,Bi=0;const di=(Yi=(zi=e==null?void 0:e.store)==null?void 0:zi.states)==null?void 0:Yi.rowKey.value,{childrenColumnName:Ni}=e.store.states,Mi={children:Ni.value,checkStrictly:!1};r.value.forEach((ji,hn)=>{const kn=hn+Bi;toggleRowStatus(pe.value,ji,Xi,Mi,xe.value,kn,di)&&(Ei=!0),Bi+=pi(getRowIdentity(ji,di))}),Ei&&e.emit("selection-change",pe.value?pe.value.slice():[]),e.emit("select-all",(pe.value||[]).slice())},mi=()=>{var zi;if(((zi=r.value)==null?void 0:zi.length)===0){he.value=!1;return}const{childrenColumnName:Yi}=e.store.states;let Xi=0,Ei=0;const Bi=Ni=>{var Mi;for(const ji of Ni){const hn=xe.value&&xe.value.call(null,ji,Xi);if(Dt(ji))Ei++;else if(!xe.value||hn)return!1;if(Xi++,(Mi=ji[Yi.value])!=null&&Mi.length&&!Bi(ji[Yi.value]))return!1}return!0},di=Bi(r.value||[]);he.value=Ei===0?!1:di},pi=zi=>{var Yi;if(!e||!e.store)return 0;const{treeData:Xi}=e.store.states;let Ei=0;const Bi=(Yi=Xi.value[zi])==null?void 0:Yi.children;return Bi&&(Ei+=Bi.length,Bi.forEach(di=>{Ei+=pi(di)})),Ei},ri=(zi,Yi)=>{const Xi={};return castArray$1(zi).forEach(Ei=>{Ie.value[Ei.id]=Yi,Xi[Ei.columnKey||Ei.id]=Yi}),Xi},oi=(zi,Yi,Xi)=>{$e.value&&$e.value!==zi&&($e.value.order=null),$e.value=zi,Oe.value=Yi,Fe.value=Xi},bi=()=>{let zi=unref(g);Object.keys(Ie.value).forEach(Yi=>{const Xi=Ie.value[Yi];if(!Xi||Xi.length===0)return;const Ei=getColumnById({columns:z.value},Yi);Ei&&Ei.filterMethod&&(zi=zi.filter(Bi=>Xi.some(di=>Ei.filterMethod.call(null,di,Bi,Ei))))}),Ne.value=zi},Ti=()=>{var zi;r.value=sortData((zi=Ne.value)!=null?zi:[],{sortingColumn:$e.value,sortProp:Oe.value,sortOrder:Fe.value})},Si=(zi=void 0)=>{zi!=null&&zi.filter||bi(),Ti()},ni=zi=>{const{tableHeaderRef:Yi}=e.refs;if(!Yi)return;const Xi=Object.assign({},Yi.filterPanels),Ei=Object.keys(Xi);if(Ei.length)if(isString$1(zi)&&(zi=[zi]),isArray$1(zi)){const Bi=zi.map(di=>getColumnByKey({columns:z.value},di));Ei.forEach(di=>{const Ni=Bi.find(Mi=>Mi.id===di);Ni&&(Ni.filteredValue=[])}),e.store.commit("filterChange",{column:Bi,values:[],silent:!0,multi:!0})}else Ei.forEach(Bi=>{const di=z.value.find(Ni=>Ni.id===Bi);di&&(di.filteredValue=[])}),Ie.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},fi=()=>{$e.value&&(oi(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:si,toggleRowExpansion:_i,updateExpandRows:Pt,states:Lt,isRowExpanded:At}=useExpand({data:r,rowKey:i}),{updateTreeExpandKeys:ii,toggleTreeExpansion:gi,updateTreeData:yi,updateKeyChildren:Li,loadOrToggle:Pi,states:xi}=useTree({data:r,rowKey:i}),{updateCurrentRowData:Ai,updateCurrentRow:Vi,setCurrentRowKey:Hi,states:qi}=useCurrent({data:r,rowKey:i});return{assertRowKey:qe,updateColumns:kt,scheduleLayout:Ue,isSelected:Dt,clearSelection:jt,cleanSelection:ei,getSelectionRows:ti,toggleRowSelection:hi,_toggleAllSelection:ui,toggleAllSelection:null,updateAllSelected:mi,updateFilters:ri,updateCurrentRow:Vi,updateSort:oi,execFilter:bi,execSort:Ti,execQuery:Si,clearFilter:ni,clearSort:fi,toggleRowExpansion:_i,setExpandRowKeysAdapter:zi=>{si(zi),ii(zi)},setCurrentRowKey:Hi,toggleRowExpansionAdapter:(zi,Yi)=>{z.value.some(({type:Ei})=>Ei==="expand")?_i(zi,Yi):gi(zi,Yi)},isRowExpanded:At,updateExpandRows:Pt,updateCurrentRowData:Ai,loadOrToggle:Pi,updateTreeData:yi,updateKeyChildren:Li,states:{tableSize:t,rowKey:i,data:r,_data:g,isComplex:y,_columns:k,originColumns:L,columns:z,fixedColumns:V,rightFixedColumns:j,leafColumns:ie,fixedLeafColumns:oe,rightFixedLeafColumns:re,updateOrderFns:ae,leafColumnsLength:le,fixedLeafColumnsLength:de,rightFixedLeafColumnsLength:ue,isAllSelected:he,selection:pe,reserveSelection:_e,selectOnIndeterminate:Ce,selectable:xe,filters:Ie,filteredData:Ne,sortingColumn:$e,sortProp:Oe,sortOrder:Fe,hoverRow:Et,...Lt,...xi,...qi}}}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():L?n.store.clearSelection():n.store.cleanSelection(),n.store.updateAllSelected(),n.$ready&&n.store.scheduleLayout()},insertColumn(y,k,L,z){var V;const j=unref(y._columns);let ie=[];L?(L&&!L.children&&(L.children=[]),(V=L.children)==null||V.push(k),ie=replaceColumn(j,L)):(j.push(k),ie=j),sortColumn(ie),y._columns.value=ie,y.updateOrderFns.push(z),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,z){var V;const j=unref(y._columns)||[];if(L)(V=L.children)==null||V.splice(L.children.findIndex(oe=>oe.id===k.id),1),nextTick(()=>{var oe;((oe=L.children)==null?void 0:oe.length)===0&&delete L.children}),y._columns.value=replaceColumn(j,L);else{const oe=j.indexOf(k);oe>-1&&(j.splice(oe,1),y._columns.value=j)}const ie=y.updateOrderFns.indexOf(z);ie>-1&&y.updateOrderFns.splice(ie,1),n.$ready&&(n.store.updateColumns(),n.store.scheduleLayout())},sort(y,k){const{prop:L,order:z,init:V}=k;if(L){const j=unref(y.columns).find(ie=>ie.property===L);j&&(j.order=z,n.store.updateSort(j,L,z),n.store.commit("changeSortCondition",{init:V}))}},changeSortCondition(y,k){const{sortingColumn:L,sortProp:z,sortOrder:V}=y,j=unref(L),ie=unref(z),oe=unref(V);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:z,silent:V}=k,j=n.store.updateFilters(L,z);n.store.execQuery(),V||n.emit("filter-change",j),n.store.updateTableScrollY()},toggleAllSelection(){var y,k;(k=(y=n.store).toggleAllSelection)==null||k.call(y)},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,...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(r)&&(i=i||r.default,r=r.key),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)){nextTick(()=>this.setHeight(e,t));return}i&&isNumber(e)?(i.style[t]="".concat(e,"px"),this.updateElsHeight()):i&&isString$1(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(){var e;if(!isClient)return;const t=this.fit,i=(e=this.table.vnode.el)==null?void 0:e.clientWidth;let r=0;const g=this.getFlattenColumns(),y=g.filter(z=>!isNumber(z.width));if(g.forEach(z=>{isNumber(z.width)&&z.realWidth&&(z.realWidth=null)}),y.length>0&&t){if(g.forEach(z=>{r+=Number(z.width||z.minWidth||80)}),r<=i){this.scrollX.value=!1;const z=i-r;if(y.length===1)y[0].realWidth=Number(y[0].minWidth||80)+z;else{const V=y.reduce((oe,re)=>oe+Number(re.minWidth||80),0),j=z/V;let ie=0;y.forEach((oe,re)=>{if(re===0)return;const ae=Math.floor(Number(oe.minWidth||80)*j);ie+=ae,oe.realWidth=Number(oe.minWidth||80)+ae}),y[0].realWidth=Number(y[0].minWidth||80)+z-ie}}else this.scrollX.value=!0,y.forEach(z=>{z.realWidth=Number(z.minWidth)});this.bodyWidth.value=Math.max(r,i),this.table.state.resizeState.value.width=this.bodyWidth.value}else g.forEach(z=>{!z.width&&!z.minWidth?z.realWidth=80:z.realWidth=Number(z.width||z.minWidth),r+=z.realWidth}),this.scrollX.value=r>i,this.bodyWidth.value=r;const k=this.store.states.fixedColumns.value;if(k.length>0){let z=0;k.forEach(V=>{z+=Number(V.realWidth||V.width)}),this.fixedWidth.value=z}const L=this.store.states.rightFixedColumns.value;if(L.length>0){let z=0;L.forEach(V=>{z+=Number(V.realWidth||V.width)}),this.rightFixedWidth.value=z}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$m=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:useTooltipContentProps.appendTo},setup(n){const e=getCurrentInstance$1(),{t}=useLocale(),i=useNamespace("table-filter"),r=e==null?void 0:e.parent;n.column&&!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&&n.column.filterClassName?"".concat(i.b()," ").concat(n.column.filterClassName):i.b()),z=computed$1({get:()=>{var _e;return(((_e=n.column)==null?void 0:_e.filteredValue)||[])[0]},set:_e=>{V.value&&(isPropAbsent(_e)?V.value.splice(0,1):V.value.splice(0,1,_e))}}),V=computed$1({get(){return n.column?n.column.filteredValue||[]:[]},set(_e){var Ce;n.column&&((Ce=n.upDataColumn)==null||Ce.call(n,"filteredValue",_e))}}),j=computed$1(()=>n.column?n.column.filterMultiple:!0),ie=_e=>_e.value===z.value,oe=()=>{g.value=!1},re=_e=>{_e.stopPropagation(),g.value=!g.value},ae=()=>{g.value=!1},le=()=>{he(V.value),oe()},de=()=>{V.value=[],he(V.value),oe()},ue=_e=>{z.value=_e,isPropAbsent(_e)?he([]):he(V.value),oe()},he=_e=>{var Ce,xe;(Ce=n.store)==null||Ce.commit("filterChange",{column:n.column,values:_e}),(xe=n.store)==null||xe.updateAllSelected()};watch(g,_e=>{var Ce;n.column&&((Ce=n.upDataColumn)==null||Ce.call(n,"filterOpened",_e))},{immediate:!0});const pe=computed$1(()=>{var _e,Ce;return(Ce=(_e=y.value)==null?void 0:_e.popperRef)==null?void 0:Ce.contentRef});return{tooltipVisible:g,multiple:j,filterClassName:L,filteredValue:V,filterValue:z,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"),z=resolveComponent("arrow-up"),V=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",{},()=>{var re;return[(re=n.column)!=null&&re.filterOpened?(openBlock(),createBlock(z,{key:0})):(openBlock(),createBlock(V,{key:1}))]})]),_:3})],10,["onClick"])),[[oe,n.hideFilterPanel,n.popperPaneRef]])]),_:3},8,["visible","placement","popper-class","append-to"])}var FilterPanel=_export_sfc$1(_sfc_main$m,[["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(),z={};L.forEach(V=>{z[V.id]=V});for(let V=0,j=k.length;V{var y,k;const L=((y=n.vnode.el)==null?void 0:y.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let V=0,j=L.length;V{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),z=ref$1(),V=(ae,le)=>{var de,ue;if(isClient&&!(le.children&&le.children.length>0)&&k.value&&n.border){L.value=!0;const he=i;e("set-drag-visible",!0);const pe=he==null?void 0:he.vnode.el,_e=pe==null?void 0:pe.getBoundingClientRect().left,Ce=(ue=(de=t==null?void 0:t.vnode)==null?void 0:de.el)==null?void 0:ue.querySelector("th.".concat(le.id)),xe=Ce.getBoundingClientRect(),Ie=xe.left-_e+30;addClass(Ce,"noclick"),z.value={startMouseLeft:ae.clientX,startLeft:xe.right-_e,startColumnLeft:xe.left-_e,tableLeft:_e};const Ne=he==null?void 0:he.refs.resizeProxy;Ne.style.left="".concat(z.value.startLeft,"px"),document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const $e=Fe=>{const Et=Fe.clientX-z.value.startMouseLeft,ze=z.value.startLeft+Et;Ne.style.left="".concat(Math.max(Ie,ze),"px")},Oe=()=>{if(L.value){const{startColumnLeft:Fe,startLeft:Et}=z.value,qe=Number.parseInt(Ne.style.left,10)-Fe;le.width=le.realWidth=qe,he==null||he.emit("header-dragend",le.width,Et-Fe,le,ae),requestAnimationFrame(()=>{n.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",L.value=!1,k.value=null,z.value=void 0,e("set-drag-visible",!1)}document.removeEventListener("mousemove",$e),document.removeEventListener("mouseup",Oe),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{removeClass(Ce,"noclick")},0)};document.addEventListener("mousemove",$e),document.addEventListener("mouseup",Oe)}},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(),_e=document.body.style,Ce=((de=he.parentNode)==null?void 0:de.lastElementChild)===he,xe=n.allowDragLastColumn||!Ce;pe.width>12&&pe.right-ae.clientX<8&&xe?(_e.cursor="col-resize",hasClass(he,"is-sortable")&&(he.style.cursor="col-resize"),k.value=le):L.value||(_e.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 _e=ae.currentTarget;if(["ascending","descending"].some($e=>hasClass(_e,$e)&&!le.sortOrders.includes($e)))return;const Ce=n.store.states;let xe=Ce.sortProp.value,Ie;const Ne=Ce.sortingColumn.value;(Ne!==le||Ne===le&&isNull(Ne.order))&&(Ne&&(Ne.order=null),Ce.sortingColumn.value=le,xe=le.property),he?Ie=le.order=he:Ie=le.order=null,Ce.sortProp.value=xe,Ce.sortOrder.value=Ie,i==null||i.store.commit("changeSortCondition")};return{handleHeaderClick:g,handleHeaderContextMenu:y,handleMouseDown:V,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$1(L)?L.call(null,{rowIndex:k}):L},getHeaderRowClass:k=>{const L=[],z=e==null?void 0:e.props.headerRowClassName;return isString$1(z)?L.push(z):isFunction$1(z)&&L.push(z.call(null,{rowIndex:k})),L.join(" ")},getHeaderCellStyle:(k,L,z,V)=>{var j;let ie=(j=e==null?void 0:e.props.headerCellStyle)!=null?j:{};isFunction$1(ie)&&(ie=ie.call(null,{rowIndex:k,columnIndex:L,row:z,column:V}));const oe=getFixedColumnOffset(L,V.fixed,n.store,z);return ensurePosition(oe,"left"),ensurePosition(oe,"right"),Object.assign({},ie,oe)},getHeaderCellClass:(k,L,z,V)=>{const j=getFixedColumnsClass(t.b(),L,V.fixed,n.store,z),ie=[V.id,V.order,V.headerAlign,V.className,V.labelClassName,...j];V.children||ie.push("is-leaf"),V.sortable&&ie.push("is-sortable");const oe=e==null?void 0:e.props.headerCellClassName;return isString$1(oe)?ie.push(oe):isFunction$1(oe)&&ie.push(oe.call(null,{rowIndex:k,columnIndex:L,row:z,column:V})),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",z=reactive$1(new Map),V=ref$1();let j;const ie=()=>{j=setTimeout(()=>{z.size>0&&(z.forEach((Oe,Fe)=>{const Et=V.value.querySelector(".".concat(Fe.replace(/\s/g,".")));if(Et){const ze=Et.getBoundingClientRect().width;Oe.width=ze||Oe.width}}),z.clear())})};watch(z,ie),onBeforeUnmount(()=>{j&&(clearTimeout(j),j=void 0)}),onMounted(async()=>{await nextTick(),await nextTick();const{prop:Oe,order:Fe}=n.defaultSort;i==null||i.store.commit("sort",{prop:Oe,order:Fe,init:!0}),ie()});const{handleHeaderClick:oe,handleHeaderContextMenu:re,handleMouseDown:ae,handleMouseMove:le,handleMouseOut:de,handleSortClick:ue,handleFilterClick:he}=useEvent(n,e),{getHeaderRowStyle:pe,getHeaderRowClass:_e,getHeaderCellStyle:Ce,getHeaderCellClass:xe}=useStyle$2(n),{isGroup:Ie,toggleAllSelection:Ne,columnRows:$e}=useUtils$1(n);return t.state={onColumnsChange:y,onScrollableChange:k},t.filterPanels=g,{ns:r,filterPanels:g,onColumnsChange:y,onScrollableChange:k,columnRows:$e,getHeaderRowClass:_e,getHeaderRowStyle:pe,getHeaderCellClass:xe,getHeaderCellStyle:Ce,handleHeaderClick:oe,handleHeaderContextMenu:re,handleMouseDown:ae,handleMouseMove:le,handleMouseOut:de,handleSortClick:ue,handleFilterClick:he,isGroup:Ie,toggleAllSelection:Ne,saveIndexSelection:z,isTableLayoutAuto:L,theadRef:V,updateFixedColumnStyle:ie}},render(){const{ns:n,isGroup:e,columnRows:t,getHeaderCellStyle:i,getHeaderCellClass:r,getHeaderRowClass:g,getHeaderRowStyle:y,handleHeaderClick:k,handleHeaderContextMenu:L,handleMouseDown:z,handleMouseMove:V,handleSortClick:j,handleMouseOut:ie,store:oe,$parent:re,saveIndexSelection:ae,isTableLayoutAuto:le}=this;let de=1;return h$2("thead",{ref:"theadRef",class:{[n.is("group")]:e}},t.map((ue,he)=>h$2("tr",{class:g(he),key:he,style:y(he)},ue.map((pe,_e)=>{pe.rowSpan>de&&(de=pe.rowSpan);const Ce=r(he,_e,ue,pe);return le&&pe.fixed&&ae.set(Ce,pe),h$2("th",{class:Ce,colspan:pe.colSpan,key:"".concat(pe.id,"-thead"),rowspan:pe.rowSpan,style:i(he,_e,ue,pe),onClick:xe=>{var Ie;(Ie=xe.currentTarget)!=null&&Ie.classList.contains("noclick")||k(xe,pe)},onContextmenu:xe=>L(xe,pe),onMousedown:xe=>z(xe,pe),onMousemove:xe=>V(xe,pe),onMouseout:ie},[h$2("div",{class:["cell",pe.filteredValue&&pe.filteredValue.length>0?"highlight":""]},[pe.renderHeader?pe.renderHeader({column:pe,$index:_e,store:oe,_self:re}):pe.label,pe.sortable&&h$2("span",{onClick:xe=>j(xe,pe),class:"caret-wrapper"},[h$2("i",{onClick:xe=>j(xe,pe,"ascending"),class:"sort-caret ascending"}),h$2("i",{onClick:xe=>j(xe,pe,"descending"),class:"sort-caret descending"})]),pe.filterable&&h$2(FilterPanel,{store:oe,placement:pe.filterPlacement||"bottom-start",appendTo:re==null?void 0: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$2("div")),r=(re,ae,le)=>{var de,ue,he;const pe=e,_e=getCell(re);let Ce=null;const xe=(de=pe==null?void 0:pe.vnode.el)==null?void 0:de.dataset.prefix;_e&&(Ce=getColumnByCell({columns:(he=(ue=n.store)==null?void 0:ue.states.columns.value)!=null?he:[]},_e,xe),Ce&&(pe==null||pe.emit("cell-".concat(le),ae,Ce,_e,re))),pe==null||pe.emit("row-".concat(le),ae,Ce,re)},g=(re,ae)=>{r(re,ae,"dblclick")},y=(re,ae)=>{var le;(le=n.store)==null||le.commit("setCurrentRow",ae),r(re,ae,"click")},k=(re,ae)=>{r(re,ae,"contextmenu")},L=debounce(re=>{var ae;(ae=n.store)==null||ae.commit("setHoverRow",re)},30),z=debounce(()=>{var re;(re=n.store)==null||re.commit("setHoverRow",null)},30),V=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)=>{var de;let ue=(de=ae==null?void 0:ae.target)==null?void 0:de.parentNode;for(;re>1&&(ue=ue==null?void 0:ue.nextSibling,!(!ue||ue.nodeName!=="TR"));)le(ue,"hover-row hover-fixed-row"),re--};return{handleDoubleClick:g,handleClick:y,handleContextMenu:k,handleMouseEnter:L,handleMouseLeave:z,handleCellMouseEnter:(re,ae,le)=>{var de,ue,he,pe,_e,Ce,xe,Ie;if(!e)return;const Ne=e,$e=getCell(re),Oe=(de=Ne==null?void 0:Ne.vnode.el)==null?void 0:de.dataset.prefix;let Fe=null;if($e){if(Fe=getColumnByCell({columns:(he=(ue=n.store)==null?void 0:ue.states.columns.value)!=null?he:[]},$e,Oe),!Fe)return;$e.rowSpan>1&&j($e.rowSpan,re,addClass);const mi=Ne.hoverState={cell:$e,column:Fe,row:ae};Ne==null||Ne.emit("cell-mouse-enter",mi.row,mi.column,mi.cell,re)}if(!le){((pe=removePopper)==null?void 0:pe.trigger)===$e&&((_e=removePopper)==null||_e());return}const Et=re.target.querySelector(".cell");if(!(hasClass(Et,"".concat(Oe,"-tooltip"))&&Et.childNodes.length))return;const ze=document.createRange();ze.setStart(Et,0),ze.setEnd(Et,Et.childNodes.length);const{width:qe,height:Ve}=ze.getBoundingClientRect(),{width:kt,height:Ue}=Et.getBoundingClientRect(),{top:Dt,left:jt,right:ei,bottom:ti}=V(Et),hi=jt+ei,ui=Dt+ti;isGreaterThan(qe+hi,kt)||isGreaterThan(Ve+ui,Ue)||isGreaterThan(Et.scrollWidth,kt)?createTablePopper(le,(Ce=($e==null?void 0:$e.innerText)||($e==null?void 0:$e.textContent))!=null?Ce:"",ae,Fe,$e,Ne):((xe=removePopper)==null?void 0:xe.trigger)===$e&&((Ie=removePopper)==null||Ie())},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:(z,V)=>{const j=e==null?void 0:e.props.rowStyle;return isFunction$1(j)?j.call(null,{row:z,rowIndex:V}):j||null},getRowClass:(z,V)=>{var j;const ie=[t.e("row")];e!=null&&e.props.highlightCurrentRow&&z===((j=n.store)==null?void 0:j.states.currentRow.value)&&ie.push("current-row"),n.stripe&&V%2===1&&ie.push(t.em("row","striped"));const oe=e==null?void 0:e.props.rowClassName;return isString$1(oe)?ie.push(oe):isFunction$1(oe)&&ie.push(oe.call(null,{row:z,rowIndex:V})),ie},getCellStyle:(z,V,j,ie)=>{const oe=e==null?void 0:e.props.cellStyle;let re=oe!=null?oe:{};isFunction$1(oe)&&(re=oe.call(null,{rowIndex:z,columnIndex:V,row:j,column:ie}));const ae=getFixedColumnOffset(V,n==null?void 0:n.fixed,n.store);return ensurePosition(ae,"left"),ensurePosition(ae,"right"),Object.assign({},re,ae)},getCellClass:(z,V,j,ie,oe)=>{const re=getFixedColumnsClass(t.b(),V,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$1(le)?ae.push(le):isFunction$1(le)&&ae.push(le.call(null,{rowIndex:z,columnIndex:V,row:j,column:ie})),ae.push(t.e("cell")),ae.filter(de=>!!de).join(" ")},getSpan:(z,V,j,ie)=>{let oe=1,re=1;const ae=e==null?void 0:e.props.spanMethod;if(isFunction$1(ae)){const le=ae({row:z,column:V,rowIndex:j,columnIndex:ie});isArray$1(le)?(oe=le[0],re=le[1]):isObject(le)&&(oe=le.rowspan,re=le.colspan)}return{rowspan:oe,colspan:re}},getColspanRealWidth:(z,V,j)=>{if(V<1)return z[j].realWidth;const ie=z.map(({realWidth:oe,width:re})=>oe||re).slice(j,j+V);return Number(ie.reduce((oe,re)=>Number(oe)+Number(re),-1))}}}const __default__$8=defineComponent({name:"TableTdWrapper"}),_sfc_main$l=defineComponent({...__default__$8,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$1(_sfc_main$l,[["__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:z,tooltipContent:V,tooltipTrigger:j}=useEvents(n),{getRowStyle:ie,getRowClass:oe,getCellStyle:re,getCellClass:ae,getSpan:le,getColspanRealWidth:de}=useStyles(n),ue=computed$1(()=>{var xe;return(xe=n.store)==null?void 0:xe.states.columns.value.findIndex(({type:Ie})=>Ie==="default")}),he=(xe,Ie)=>{var Ne;const $e=(Ne=e==null?void 0:e.props)==null?void 0:Ne.rowKey;return $e?getRowIdentity(xe,$e):Ie},pe=(xe,Ie,Ne,$e=!1)=>{const{tooltipEffect:Oe,tooltipOptions:Fe,store:Et}=n,{indent:ze,columns:qe}=Et.states,Ve=oe(xe,Ie);let kt=!0;return Ne&&(Ve.push(t.em("row","level-".concat(Ne.level))),kt=!!Ne.display),h$2("tr",{style:[kt?null:{display:"none"},ie(xe,Ie)],class:Ve,key:he(xe,Ie),onDblclick:Dt=>i(Dt,xe),onClick:Dt=>r(Dt,xe),onContextmenu:Dt=>g(Dt,xe),onMouseenter:()=>y(Ie),onMouseleave:k},qe.value.map((Dt,jt)=>{const{rowspan:ei,colspan:ti}=le(xe,Dt,Ie,jt);if(!ei||!ti)return null;const hi=Object.assign({},Dt);hi.realWidth=de(qe.value,ti,jt);const ui={store:Et,_self:n.context||e,column:hi,row:xe,$index:Ie,cellIndex:jt,expanded:$e};jt===ue.value&&Ne&&(ui.treeNode={indent:Ne.level&&Ne.level*ze.value,level:Ne.level},isBoolean(Ne.expanded)&&(ui.treeNode.expanded=Ne.expanded,"loading"in Ne&&(ui.treeNode.loading=Ne.loading),"noLazyChildren"in Ne&&(ui.treeNode.noLazyChildren=Ne.noLazyChildren)));const mi="".concat(he(xe,Ie),",").concat(jt),pi=hi.columnKey||hi.rawColumnKey||"",ri=Dt.showOverflowTooltip&&merge$1({effect:Oe},Fe,Dt.showOverflowTooltip);return h$2(TdWrapper,{style:re(Ie,jt,xe,Dt),class:ae(Ie,jt,xe,Dt,ti-1),key:"".concat(pi).concat(mi),rowspan:ei,colspan:ti,onMouseenter:oi=>L(oi,xe,ri),onMouseleave:z},{default:()=>_e(jt,Dt,ui)})}))},_e=(xe,Ie,Ne)=>Ie.renderCell(Ne);return{wrappedRowRender:(xe,Ie)=>{const Ne=n.store,{isRowExpanded:$e,assertRowKey:Oe}=Ne,{treeData:Fe,lazyTreeNodeMap:Et,childrenColumnName:ze,rowKey:qe}=Ne.states,Ve=Ne.states.columns.value;if(Ve.some(({type:Ue})=>Ue==="expand")){const Ue=$e(xe),Dt=pe(xe,Ie,void 0,Ue),jt=e==null?void 0:e.renderExpanded;if(!jt)return console.error("[Element Error]renderExpanded is required."),Dt;const ei=[[Dt]];return(e.props.preserveExpandedContent||Ue)&&ei[0].push(h$2("tr",{key:"expanded-row__".concat(Dt.key),style:{display:Ue?"":"none"}},[h$2("td",{colspan:Ve.length,class:"".concat(t.e("cell")," ").concat(t.e("expanded-cell"))},[jt({row:xe,$index:Ie,store:Ne,expanded:Ue})])])),ei}else if(Object.keys(Fe.value).length){Oe();const Ue=getRowIdentity(xe,qe.value);let Dt=Fe.value[Ue],jt=null;Dt&&(jt={expanded:Dt.expanded,level:Dt.level,display:!0,noLazyChildren:void 0,loading:void 0},isBoolean(Dt.lazy)&&(jt&&isBoolean(Dt.loaded)&&Dt.loaded&&(jt.noLazyChildren=!(Dt.children&&Dt.children.length)),jt.loading=Dt.loading));const ei=[pe(xe,Ie,jt!=null?jt:void 0)];if(Dt){let ti=0;const hi=(mi,pi)=>{mi&&mi.length&&pi&&mi.forEach(ri=>{const oi={display:pi.display&&pi.expanded,level:pi.level+1,expanded:!1,noLazyChildren:!1,loading:!1},bi=getRowIdentity(ri,qe.value);if(isPropAbsent(bi))throw new Error("For nested data item, row-key is required.");if(Dt={...Fe.value[bi]},Dt&&(oi.expanded=Dt.expanded,Dt.level=Dt.level||oi.level,Dt.display=!!(Dt.expanded&&oi.display),isBoolean(Dt.lazy)&&(isBoolean(Dt.loaded)&&Dt.loaded&&(oi.noLazyChildren=!(Dt.children&&Dt.children.length)),oi.loading=Dt.loading)),ti++,ei.push(pe(ri,Ie+ti,oi)),Dt){const Ti=Et.value[bi]||ri[ze.value];hi(Ti,Dt)}})};Dt.display=!0;const ui=Et.value[Ue]||xe[ze.value];hi(ui,Dt)}return ei}else return pe(xe,Ie,void 0)},tooltipContent:V,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){var e;const t=getCurrentInstance$1(),i=inject(TABLE_INJECTION_KEY),r=useNamespace("table"),{wrappedRowRender:g,tooltipContent:y,tooltipTrigger:k}=useRender$1(n),{onColumnsChange:L,onScrollableChange:z}=useLayoutObserver(i),V=[];return watch((e=n.store)==null?void 0:e.states.hoverRow,(j,ie)=>{var oe,re;const ae=t==null?void 0:t.vnode.el,le=Array.from((ae==null?void 0:ae.children)||[]).filter(he=>he==null?void 0:he.classList.contains("".concat(r.e("row"))));let de=j;const ue=(oe=le[de])==null?void 0:oe.childNodes;if(ue!=null&&ue.length){let he=0;Array.from(ue).reduce((_e,Ce,xe)=>{var Ie,Ne;return((Ie=ue[xe])==null?void 0:Ie.colSpan)>1&&(he=(Ne=ue[xe])==null?void 0:Ne.colSpan),Ce.nodeName!=="TD"&&he===0&&_e.push(xe),he>0&&he--,_e},[]).forEach(_e=>{var Ce;for(de=j;de>0;){const xe=(Ce=le[de-1])==null?void 0:Ce.childNodes;if(xe[_e]&&xe[_e].nodeName==="TD"&&xe[_e].rowSpan>1){addClass(xe[_e],"hover-cell"),V.push(xe[_e]);break}de--}})}else V.forEach(he=>removeClass(he,"hover-cell")),V.length=0;!((re=n.store)!=null&&re.states.isComplex.value)||!isClient||rAF(()=>{const he=le[ie],pe=le[j];he&&!he.classList.contains("hover-fixed-row")&&removeClass(he,"hover-row"),pe&&addClass(pe,"hover-row")})}),onUnmounted(()=>{var j;(j=removePopper)==null||j()}),{ns:r,onColumnsChange:L,onScrollableChange:z,wrappedRowRender:g,tooltipContent:y,tooltipTrigger:k}},render(){const{wrappedRowRender:n,store:e}=this,t=(e==null?void 0:e.states.data.value)||[];return h$2("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(()=>{var k;return(k=e==null?void 0:e.states.fixedLeafColumnsLength.value)!=null?k:0}),i=computed$1(()=>{var k;return(k=e==null?void 0:e.states.rightFixedColumns.value.length)!=null?k:0}),r=computed$1(()=>{var k;return(k=e==null?void 0:e.states.columns.value.length)!=null?k:0}),g=computed$1(()=>{var k;return(k=e==null?void 0:e.states.fixedColumns.value.length)!=null?k:0}),y=computed$1(()=>{var k;return(k=e==null?void 0:e.states.rightFixedColumns.value.length)!=null?k:0});return{leftFixedLeafCount:t,rightFixedLeafCount:i,columnsCount:r,leftFixedCount:g,rightFixedCount:y,columns:computed$1(()=>{var k;return(k=e==null?void 0:e.states.columns.value)!=null?k:[]})}}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 e=inject(TABLE_INJECTION_KEY),t=useNamespace("table"),{getCellClasses:i,getCellStyles:r,columns:g}=useStyle$1(n),{onScrollableChange:y,onColumnsChange:k}=useLayoutObserver(e);return{ns:t,onScrollableChange:y,onColumnsChange:k,getCellClasses:i,getCellStyles:r,columns:g}},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 z=g.map(oe=>Number(oe[k.property])),V=[];let j=!0;z.forEach(oe=>{if(!Number.isNaN(+oe)){j=!1;const re="".concat(oe).split(".")[1];V.push(re?re.length:0)}});const ie=Math.max.apply(null,V);j?y[L]="":y[L]=z.reduce((oe,re)=>{const ae=Number(re);return Number.isNaN(+ae)?oe:Number.parseFloat((oe+re).toFixed(Math.min(ie,20)))},0)}),h$2(h$2("tfoot",[h$2("tr",{},[...n.map((k,L)=>h$2("td",{key:L,colspan:k.colSpan,rowspan:k.rowSpan,class:t(n,L),style:e(k,L)},[h$2("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=kt=>{y.value=kt},L=ref$1({width:null,height:null,headerHeight:null}),z=ref$1(!1),V={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(()=>{var kt;e.setHeight((kt=n.height)!=null?kt:null)}),watchEffect(()=>{var kt;e.setMaxHeight((kt=n.maxHeight)!=null?kt:null)}),watch(()=>[n.currentRowKey,t.states.rowKey],([kt,Ue])=>{!unref(Ue)||!unref(kt)||t.setCurrentRowKey("".concat(kt))},{immediate:!0}),watch(()=>n.data,kt=>{i.store.commit("setData",kt)},{immediate:!0,deep:!0}),watchEffect(()=>{n.expandRowKeys&&t.setExpandRowKeysAdapter(n.expandRowKeys)});const de=()=>{i.store.commit("setHoverRow",null),i.hoverState&&(i.hoverState=null)},ue=(kt,Ue)=>{const{pixelX:Dt,pixelY:jt}=Ue;Math.abs(Dt)>=Math.abs(jt)&&(i.refs.bodyWrapper.scrollLeft+=Ue.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"):""})),_e=()=>{he.value&&e.updateElsHeight(),e.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(Ne)};onMounted(async()=>{await nextTick(),t.updateColumns(),$e(),requestAnimationFrame(_e);const kt=i.vnode.el,Ue=i.refs.headerWrapper;n.flexible&&kt&&kt.parentElement&&(kt.parentElement.style.minWidth="0"),L.value={width:j.value=kt.offsetWidth,height:kt.offsetHeight,headerHeight:n.showHeader&&Ue?Ue.offsetHeight:null},t.states.columns.value.forEach(Dt=>{Dt.filteredValue&&Dt.filteredValue.length&&i.store.commit("filterChange",{column:Dt,values:Dt.filteredValue,silent:!0})}),i.$ready=!0});const Ce=(kt,Ue)=>{if(!kt)return;const Dt=Array.from(kt.classList).filter(jt=>!jt.startsWith("is-scrolling-"));Dt.push(e.scrollX.value?Ue:"is-scrolling-none"),kt.className=Dt.join(" ")},xe=kt=>{const{tableWrapper:Ue}=i.refs;Ce(Ue,kt)},Ie=kt=>{const{tableWrapper:Ue}=i.refs;return!!(Ue&&Ue.classList.contains(kt))},Ne=function(){if(!i.refs.scrollBarRef)return;if(!e.scrollX.value){const ui="is-scrolling-none";Ie(ui)||xe(ui);return}const kt=i.refs.scrollBarRef.wrapRef;if(!kt)return;const{scrollLeft:Ue,offsetWidth:Dt,scrollWidth:jt}=kt,{headerWrapper:ei,footerWrapper:ti}=i.refs;ei&&(ei.scrollLeft=Ue),ti&&(ti.scrollLeft=Ue);const hi=jt-Dt-1;Ue>=hi?xe("is-scrolling-right"):xe(Ue===0?"is-scrolling-left":"is-scrolling-middle")},$e=()=>{i.refs.scrollBarRef&&(i.refs.scrollBarRef.wrapRef&&useEventListener(i.refs.scrollBarRef.wrapRef,"scroll",Ne,{passive:!0}),n.fit?useResizeObserver(i.vnode.el,Oe):useEventListener(window,"resize",Oe),useResizeObserver(i.refs.bodyWrapper,()=>{var kt,Ue;Oe(),(Ue=(kt=i.refs)==null?void 0:kt.scrollBarRef)==null||Ue.update()}))},Oe=()=>{var kt,Ue,Dt,jt;const ei=i.vnode.el;if(!i.$ready||!ei)return;let ti=!1;const{width:hi,height:ui,headerHeight:mi}=L.value,pi=j.value=ei.offsetWidth;hi!==pi&&(ti=!0);const ri=ei.offsetHeight;(n.height||he.value)&&ui!==ri&&(ti=!0);const oi=n.tableLayout==="fixed"?i.refs.headerWrapper:(kt=i.refs.tableHeaderRef)==null?void 0:kt.$el;n.showHeader&&(oi==null?void 0:oi.offsetHeight)!==mi&&(ti=!0),ie.value=((Ue=i.refs.tableWrapper)==null?void 0:Ue.scrollHeight)||0,re.value=(oi==null?void 0:oi.scrollHeight)||0,ae.value=((Dt=i.refs.footerWrapper)==null?void 0:Dt.offsetHeight)||0,le.value=((jt=i.refs.appendWrapper)==null?void 0:jt.offsetHeight)||0,oe.value=ie.value-re.value-ae.value-le.value,ti&&(L.value={width:pi,height:ri,headerHeight:n.showHeader&&(oi==null?void 0:oi.offsetHeight)||0},_e())},Fe=useFormSize(),Et=computed$1(()=>{const{bodyWidth:kt,scrollY:Ue,gutterWidth:Dt}=e;return kt.value?"".concat(kt.value-(Ue.value?Dt:0),"px"):""}),ze=computed$1(()=>n.maxHeight?"fixed":n.tableLayout),qe=computed$1(()=>{if(n.data&&n.data.length)return;let kt="100%";n.height&&oe.value&&(kt="".concat(oe.value,"px"));const Ue=j.value;return{width:Ue?"".concat(Ue,"px"):"",height:kt}}),Ve=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:z,handleMouseLeave:de,handleHeaderFooterMousewheel:ue,tableSize:Fe,emptyBlockStyle:qe,resizeProxyVisible:y,bodyWidth:Et,resizeState:L,doLayout:_e,tableBodyStyles:pe,tableLayout:ze,scrollbarViewStyle:V,scrollbarStyle:Ve}}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],tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};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$2("colgroup",{},t.map(r=>h$2("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)}};var v=!1,o,f,s,u,d,N,l,p,m,w,D,x,E,M,F;function a(){if(!v){v=!0;var n=navigator.userAgent,e=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(n),t=/(Mac OS X)|(Windows)|(Linux)/.exec(n);if(x=/\b(iPhone|iP[ao]d)/.exec(n),E=/\b(iP[ao]d)/.exec(n),w=/Android/i.exec(n),M=/FBAN\/\w+;/i.exec(n),F=/Mobile/i.exec(n),D=!!/Win64/.exec(n),e){o=e[1]?parseFloat(e[1]):e[5]?parseFloat(e[5]):NaN,o&&document&&document.documentMode&&(o=document.documentMode);var i=/(?:Trident\/(\d+.\d+))/.exec(n);N=i?parseFloat(i[1])+4:o,f=e[2]?parseFloat(e[2]):NaN,s=e[3]?parseFloat(e[3]):NaN,u=e[4]?parseFloat(e[4]):NaN,u?(e=/(?:Chrome\/(\d+\.\d+))/.exec(n),d=e&&e[1]?parseFloat(e[1]):NaN):d=NaN}else o=f=s=d=u=NaN;if(t){if(t[1]){var r=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(n);l=r?parseFloat(r[1].replace("_",".")):!0}else l=!1;p=!!t[2],m=!!t[3]}else l=p=m=!1}}var _={ie:function(){return a()||o},ieCompatibilityMode:function(){return a()||N>o},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=U,X;h.canUseDOM&&(X=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function S(n,e){if(!h.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 */const 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$k=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:z,clearSelection:V,clearFilter:j,toggleAllSelection:ie,toggleRowExpansion:oe,clearSort:re,sort:ae,updateKeyChildren:le}=useUtils(r),{isHidden:de,renderExpanded:ue,setDragVisible:he,isGroup:pe,handleMouseLeave:_e,handleHeaderFooterMousewheel:Ce,tableSize:xe,emptyBlockStyle:Ie,resizeProxyVisible:Ne,bodyWidth:$e,resizeState:Oe,doLayout:Fe,tableBodyStyles:Et,tableLayout:ze,scrollbarViewStyle:qe,scrollbarStyle:Ve}=useStyle(n,g,r,i),{scrollBarRef:kt,scrollTo:Ue,setScrollLeft:Dt,setScrollTop:jt}=useScrollbar(),ei=debounce(Fe,50),ti="".concat(t.namespace.value,"-table_").concat(tableIdSeed++);i.tableId=ti,i.state={isGroup:pe,resizeState:Oe,doLayout:Fe,debouncedUpdateLayout:ei};const hi=computed$1(()=>{var pi;return(pi=n.sumText)!=null?pi:e("el.table.sumText")}),ui=computed$1(()=>{var pi;return(pi=n.emptyText)!=null?pi:e("el.table.emptyText")}),mi=computed$1(()=>convertToRows(r.states.originColumns.value)[0]);return useKeyRender(i),onBeforeUnmount(()=>{ei.cancel()}),{ns:t,layout:g,store:r,columns:mi,handleHeaderFooterMousewheel:Ce,handleMouseLeave:_e,tableId:ti,tableSize:xe,isHidden:de,isEmpty:y,renderExpanded:ue,resizeProxyVisible:Ne,resizeState:Oe,isGroup:pe,bodyWidth:$e,tableBodyStyles:Et,emptyBlockStyle:Ie,debouncedUpdateLayout:ei,setCurrentRow:k,getSelectionRows:L,toggleRowSelection:z,clearSelection:V,clearFilter:j,toggleAllSelection:ie,toggleRowExpansion:oe,clearSort:re,doLayout:Fe,sort:ae,updateKeyChildren:le,t:e,setDragVisible:he,context:i,computedSumText:hi,computedEmptyText:ui,tableLayout:ze,scrollbarViewStyle:qe,scrollbarStyle:Ve,scrollBarRef:kt,scrollTo:Ue,setScrollLeft:Dt,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"),z=resolveComponent("table-footer"),V=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(V,{ref:"scrollBarRef","view-style":n.scrollbarViewStyle,"wrap-style":n.scrollbarStyle,always:n.scrollbarAlwaysOn,tabindex:n.scrollbarTabindex,native:n.nativeScrollbar,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(z,{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","native","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(z,{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$1(_sfc_main$k,[["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}){var t;function i(){return n.states.data.value&&n.states.data.value.length===0}return h$2(ElCheckbox,{disabled:i(),size:n.states.tableSize.value,indeterminate:n.states.selection.value.length>0&&!n.states.isAllSelected.value,"onUpdate:modelValue":(t=n.toggleAllSelection)!=null?t:void 0,modelValue:n.states.isAllSelected.value,ariaLabel:e.label})},renderCell({row:n,column:e,store:t,$index:i}){return h$2(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$1(i)&&(t=i(e)),h$2("div",{},[t])},sortable:!1},expand:{renderHeader({column:n}){return n.label||""},renderCell({column:n,row:e,store:t,expanded:i}){const{ns:r}=t,g=[r.e("expand-icon")];return!n.renderExpand&&i&&g.push(r.em("expand-icon","expanded")),h$2("div",{class:g,onClick:function(k){k.stopPropagation(),t.toggleRowExpansion(e)}},{default:()=>n.renderExpand?[n.renderExpand({expanded:i})]:[h$2(ElIcon,null,{default:()=>[h$2(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$2("span",{class:r.e("placeholder")})]:null;const g=[],y=function(k){k.stopPropagation(),!e.loading&&t.loadOrToggle(n)};if(e.indent&&g.push(h$2("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$2("div",{class:k,onClick:y},{default:()=>[h$2(ElIcon,{class:{[r.is("loading")]:e.loading}},{default:()=>[h$2(L)]})]}))}else g.push(h$2("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 z=y[L];hasOwn(e,z)&&watch(()=>e[z],V=>{let j=V;z==="width"&&L==="realWidth"&&(j=parseWidth(V)),z==="minWidth"&&L==="realMinWidth"&&(j=parseMinWidth(V)),t.columnConfig.value[z]=j,t.columnConfig.value[L]=j;const ie=z==="fixed";n.value.store.scheduleLayout(ie)})})},registerNormalWatchers:()=>{const g=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter"],y=["showOverflowTooltip"],k={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},L=getAllAliases(g,k);Object.keys(L).forEach(z=>{const V=k[z];hasOwn(e,V)&&watch(()=>e[V],j=>{t.columnConfig.value[z]=j})}),y.forEach(z=>{hasOwn(n.value.props,z)&&watch(()=>n.value.props[z],V=>{t.columnConfig.value[z]=V})})}}}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 z=computed$1(()=>{let pe=i.vnode.vParent||i.parent;for(;pe&&!pe.tableId&&!pe.columnId;)pe=pe.vnode.vParent||pe.parent;return pe}),V=computed$1(()=>{const{store:pe}=i.parent;if(!pe)return!1;const{treeData:_e}=pe.states,Ce=_e.value;return Ce&&Object.keys(Ce).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 _e=pe.type,Ce=cellForced[_e]||{};Object.keys(Ce).forEach(Ie=>{const Ne=Ce[Ie];Ie!=="className"&&!isUndefined(Ne)&&(pe[Ie]=Ne)});const xe=getDefaultClassName(_e);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$1(pe)?pe.forEach(Ce=>_e(Ce)):_e(pe);function _e(Ce){var xe;((xe=Ce==null?void 0:Ce.type)==null?void 0:xe.name)==="ElTableColumn"&&(Ce.vParent=i)}};return{columnId:r,realAlign:y,isSubColumn:g,realHeaderAlign:k,columnOrTableParent:z,setColumnWidth:oe,setColumnForcedProps:re,setColumnRenders:pe=>{n.renderHeader||pe.type!=="selection"&&(pe.renderHeader=Ce=>(i.columnConfig.value.label,renderSlot(e,"header",Ce,()=>[pe.label]))),e["filter-icon"]&&(pe.renderFilterIcon=Ce=>renderSlot(e,"filter-icon",Ce)),e.expand&&(pe.renderExpand=Ce=>renderSlot(e,"expand",Ce));let _e=pe.renderCell;return pe.type==="expand"?(pe.renderCell=Ce=>h$2("div",{class:"cell"},[_e(Ce)]),t.value.renderExpanded=Ce=>e.default?e.default(Ce):e.default):(_e=_e||defaultRenderCell,pe.renderCell=Ce=>{let xe=null;if(e.default){const Et=e.default(Ce);xe=Et.some(ze=>ze.type!==Comment)?Et:_e(Ce)}else xe=_e(Ce);const{columns:Ie}=t.value.store.states,Ne=Ie.value.findIndex(Et=>Et.type==="default"),$e=V.value&&Ce.cellIndex===Ne,Oe=treeCellPrefix(Ce,$e),Fe={class:"cell",style:{}};return pe.showOverflowTooltip&&(Fe.class="".concat(Fe.class," ").concat(unref(L.namespace),"-tooltip"),Fe.style={width:"".concat((Ce.column.realWidth||Number(Ce.column.width))-1,"px")}),ae(xe),h$2("div",Fe,[Oe,xe])}),pe},getPropsData:(...pe)=>pe.reduce((_e,Ce)=>(isArray$1(Ce)&&Ce.forEach(xe=>{_e[xe]=n[xe]}),_e),{}),getColumnElIndex:(pe,_e)=>Array.prototype.indexOf.call(pe,_e),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},tooltipFormatter:Function,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:z,columnOrTableParent:V,setColumnWidth:j,setColumnForcedProps:ie,setColumnRenders:oe,getPropsData:re,getColumnElIndex:ae,realAlign:le,updateColumnOrder:de}=useRender(n,e,r),ue=V.value;k.value="".concat("tableId"in ue&&ue.tableId||"columnId"in ue&&ue.columnId,"_column_").concat(columnIdSeed++),onBeforeMount(()=>{L.value=r.value!==ue;const he=n.type||"default",pe=n.sortable===""?!0:n.sortable,_e=he==="selection"?!1:isUndefined(n.showOverflowTooltip)?ue.props.showOverflowTooltip:n.showOverflowTooltip,Ce=isUndefined(n.tooltipFormatter)?ue.props.tooltipFormatter:n.tooltipFormatter,xe={...cellStarts[he],id:k.value,type:he,property:n.prop||n.property,align:le,headerAlign:z,showOverflowTooltip:_e,tooltipFormatter: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 Fe=re(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);Fe=mergeOptions$1(xe,Fe),Fe=compose(oe,j,ie)(Fe),i.value=Fe,g(),y()}),onMounted(()=>{var he,pe;const _e=V.value,Ce=L.value?(he=_e.vnode.el)==null?void 0:he.children:(pe=_e.refs.hiddenColumns)==null?void 0:pe.children,xe=()=>ae(Ce||[],t.vnode.el);i.value.getColumnIndex=xe,xe()>-1&&r.value.store.commit("insertColumn",i.value,L.value?"columnConfig"in _e&&_e.columnConfig.value:null,de)}),onBeforeUnmount(()=>{const he=i.value.getColumnIndex;(he?he():-1)>-1&&r.value.store.commit("removeColumn",i.value,L.value?"columnConfig"in ue&&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$1(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$1(y.children)&&y.children.forEach(k=>{(k==null?void 0:k.patchFlag)!==1024&&!isString$1(k==null?void 0:k.children)&&r.push(k)});return h$2("div",r)}catch(i){return h$2("div",[])}}});const ElTable=withInstall(Table,{TableColumn:ElTableColumn$1}),ElTableColumn=withNoopInstall(ElTableColumn$1),tabsRootContextKey=Symbol("tabsRootContextKey"),tabBarProps=buildProps({tabs:{type:definePropType(Array),default:()=>mutable([])},tabRefs:{type:definePropType(Object),default:()=>mutable({})}}),COMPONENT_NAME$3="ElTabBar",__default__$7=defineComponent({name:COMPONENT_NAME$3}),_sfc_main$j=defineComponent({...__default__$7,props:tabBarProps,setup(n,{expose:e}){const t=n,i=inject(tabsRootContextKey);i||throwError(COMPONENT_NAME$3,"");const r=useNamespace("tabs"),g=ref$1(),y=ref$1(),k=()=>{let ie=0,oe=0;const re=["top","bottom"].includes(i.props.tabPosition)?"width":"height",ae=re==="width"?"x":"y",le=ae==="x"?"left":"top";return t.tabs.every(de=>{if(isUndefined(de.paneName))return!1;const ue=t.tabRefs[de.paneName];if(!ue)return!1;if(!de.active)return!0;ie=ue["offset".concat(capitalize(le))],oe=ue["client".concat(capitalize(re))];const he=window.getComputedStyle(ue);return re==="width"&&(oe-=Number.parseFloat(he.paddingLeft)+Number.parseFloat(he.paddingRight),ie+=Number.parseFloat(he.paddingLeft)),!1}),{[re]:"".concat(oe,"px"),transform:"translate".concat(capitalize(ae),"(").concat(ie,"px)")}},L=()=>y.value=k(),z=[],V=()=>{z.forEach(ie=>ie.stop()),z.length=0,Object.values(t.tabRefs).forEach(ie=>{z.push(useResizeObserver(ie,L))})};watch(()=>t.tabs,async()=>{await nextTick(),L(),V()},{immediate:!0});const j=useResizeObserver(g,()=>L());return onBeforeUnmount(()=>{z.forEach(ie=>ie.stop()),z.length=0,j.stop()}),e({ref:g,update:L}),(ie,oe)=>(openBlock(),createElementBlock("div",{ref_key:"barRef",ref:g,class:normalizeClass([unref(r).e("active-bar"),unref(r).is(unref(i).props.tabPosition)]),style:normalizeStyle(y.value)},null,6))}});var TabBar=_export_sfc$1(_sfc_main$j,[["__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(),z=ref$1(),V=ref$1({}),j=ref$1(),ie=ref$1(!1),oe=ref$1(0),re=ref$1(!1),ae=ref$1(!0),le=shallowRef(),de=computed$1(()=>["top","bottom"].includes(i.props.tabPosition)?"width":"height"),ue=computed$1(()=>{const Fe=de.value==="width"?"X":"Y";return{transform:"translate".concat(Fe,"(-").concat(oe.value,"px)")}}),he=()=>{if(!k.value)return;const Fe=k.value["offset".concat(capitalize(de.value))],Et=oe.value;if(!Et)return;const ze=Et>Fe?Et-Fe:0;oe.value=ze},pe=()=>{if(!k.value||!L.value)return;const Fe=L.value["offset".concat(capitalize(de.value))],Et=k.value["offset".concat(capitalize(de.value))],ze=oe.value;if(Fe-ze<=Et)return;const qe=Fe-ze>Et*2?ze+Et:Fe-Et;oe.value=qe},_e=async()=>{const Fe=L.value;if(!ie.value||!z.value||!k.value||!Fe)return;await nextTick();const Et=V.value[n.currentName];if(!Et)return;const ze=k.value,qe=["top","bottom"].includes(i.props.tabPosition),Ve=Et.getBoundingClientRect(),kt=ze.getBoundingClientRect(),Ue=qe?Fe.offsetWidth-kt.width:Fe.offsetHeight-kt.height,Dt=oe.value;let jt=Dt;qe?(Ve.leftkt.right&&(jt=Dt+Ve.right-kt.right)):(Ve.topkt.bottom&&(jt=Dt+(Ve.bottom-kt.bottom))),jt=Math.max(jt,0),oe.value=Math.min(jt,Ue)},Ce=()=>{var Fe;if(!L.value||!k.value)return;n.stretch&&((Fe=j.value)==null||Fe.update());const Et=L.value["offset".concat(capitalize(de.value))],ze=k.value["offset".concat(capitalize(de.value))],qe=oe.value;ze0&&(oe.value=0))},xe=Fe=>{let Et=0;switch(Fe.code){case EVENT_CODE.left:case EVENT_CODE.up:Et=-1;break;case EVENT_CODE.right:case EVENT_CODE.down:Et=1;break;default:return}const ze=Array.from(Fe.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let Ve=ze.indexOf(Fe.target)+Et;Ve<0?Ve=ze.length-1:Ve>=ze.length&&(Ve=0),ze[Ve].focus({preventScroll:!0}),ze[Ve].click(),Ie()},Ie=()=>{ae.value&&(re.value=!0)},Ne=()=>re.value=!1,$e=(Fe,Et)=>{V.value[Et]=Fe},Oe=async()=>{await nextTick();const Fe=V.value[n.currentName];Fe==null||Fe.focus({preventScroll:!0})};return watch(g,Fe=>{Fe==="hidden"?ae.value=!1:Fe==="visible"&&setTimeout(()=>ae.value=!0,50)}),watch(y,Fe=>{Fe?setTimeout(()=>ae.value=!0,50):ae.value=!1}),useResizeObserver(z,Ce),onMounted(()=>setTimeout(()=>_e(),0)),onUpdated(()=>Ce()),e({scrollToActiveTab:_e,removeFocus:Ne,focusActiveTab:Oe,tabListRef:L,tabBarRef:j,scheduleRender:()=>triggerRef(le)}),()=>{const Fe=ie.value?[createVNode("span",{class:[r.e("nav-prev"),r.is("disabled",!ie.value.prev)],onClick:he},[createVNode(ElIcon,null,{default:()=>[createVNode(arrow_left_default,null,null)]})]),createVNode("span",{class:[r.e("nav-next"),r.is("disabled",!ie.value.next)],onClick:pe},[createVNode(ElIcon,null,{default:()=>[createVNode(arrow_right_default,null,null)]})])]:null,Et=n.panes.map((ze,qe)=>{var Ve,kt,Ue,Dt;const jt=ze.uid,ei=ze.props.disabled,ti=(kt=(Ve=ze.props.name)!=null?Ve:ze.index)!=null?kt:"".concat(qe),hi=!ei&&(ze.isClosable||n.editable);ze.index="".concat(qe);const ui=hi?createVNode(ElIcon,{class:"is-icon-close",onClick:ri=>t("tabRemove",ze,ri)},{default:()=>[createVNode(close_default,null,null)]}):null,mi=((Dt=(Ue=ze.slots).label)==null?void 0:Dt.call(Ue))||ze.props.label,pi=!ei&&ze.active?0:-1;return createVNode("div",{ref:ri=>$e(ri,ti),class:[r.e("item"),r.is(i.props.tabPosition),r.is("active",ze.active),r.is("disabled",ei),r.is("closable",hi),r.is("focus",re.value)],id:"tab-".concat(ti),key:"tab-".concat(jt),"aria-controls":"pane-".concat(ti),role:"tab","aria-selected":ze.active,tabindex:pi,onFocus:()=>Ie(),onBlur:()=>Ne(),onClick:ri=>{Ne(),t("tabClick",ze,ti,ri)},onKeydown:ri=>{hi&&(ri.code===EVENT_CODE.delete||ri.code===EVENT_CODE.backspace)&&t("tabRemove",ze,ri)}},[mi,ui])});return le.value,createVNode("div",{ref:z,class:[r.e("nav-wrap"),r.is("scrollable",!!ie.value),r.is(i.props.tabPosition)]},[Fe,createVNode("div",{class:r.e("nav-scroll"),ref:k},[n.panes.length>0?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:ue.value,role:"tablist",onKeydown:xe},[n.type?null:createVNode(TabBar,{ref:j,tabs:[...n.panes],tabRefs:V.value},null),Et]):null])])}}}),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$1(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:z,ChildrenSorter:V}=useOrderedChildren(getCurrentInstance$1(),"ElTabPane"),j=ref$1(),ie=ref$1((r=n.modelValue)!=null?r:"0"),oe=async(ue,he=!1)=>{var pe,_e,Ce,xe;if(!(ie.value===ue||isUndefined(ue)))try{let Ie;if(n.beforeLeave){const Ne=n.beforeLeave(ue,ie.value);Ie=Ne instanceof Promise?await Ne:Ne}else Ie=!0;if(Ie!==!1){const Ne=(pe=k.value.find($e=>$e.paneName===ie.value))==null?void 0:pe.isFocusInsidePane();ie.value=ue,he&&(e(UPDATE_MODEL_EVENT,ue),e("tabChange",ue)),(Ce=(_e=j.value)==null?void 0:_e.removeFocus)==null||Ce.call(_e),Ne&&((xe=j.value)==null||xe.focusActiveTab())}}catch(Ie){}},re=(ue,he,pe)=>{ue.props.disabled||(e("tabClick",ue,pe),oe(he,!0))},ae=(ue,he)=>{ue.props.disabled||isUndefined(ue.props.name)||(he.stopPropagation(),e("edit",ue.props.name,"remove"),e("tabRemove",ue.props.name))},le=()=>{e("edit",void 0,"add"),e("tabAdd")},de=ue=>{const he=ue.el.firstChild,pe=["bottom","right"].includes(n.tabPosition)?ue.children[0].el:ue.children[1].el;he!==pe&&he.before(pe)};return watch(()=>n.modelValue,ue=>oe(ue)),watch(ie,async()=>{var ue;await nextTick(),(ue=j.value)==null||ue.scrollToActiveTab()}),provide(tabsRootContextKey,{props:n,currentName:ie,registerPane:L,unregisterPane:z,nav$:j}),i({currentName:ie,get tabNavRef(){return omit(j.value,["scheduleRender"])}}),()=>{const ue=t["add-icon"],he=n.editable||n.addable?createVNode("div",{class:[g.e("new-tab"),y.value&&g.e("new-tab-vertical")],tabindex:"0",onClick:le,onKeydown:xe=>{[EVENT_CODE.enter,EVENT_CODE.numpadEnter].includes(xe.code)&&le()}},[ue?renderSlot(t,"add-icon"):createVNode(ElIcon,{class:g.is("icon-plus")},{default:()=>[createVNode(plus_default,null,null)]})]):null,pe=()=>createVNode(TabNav,{ref:j,currentName:ie.value,editable:n.editable,type:n.type,panes:k.value,stretch:n.stretch,onTabClick:re,onTabRemove:ae},null),_e=createVNode("div",{class:[g.e("header"),y.value&&g.e("header-vertical"),g.is(n.tabPosition)]},[createVNode(V,null,{default:pe,$stable:!0}),he]),Ce=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"}],onVnodeMounted:de,onVnodeUpdated:de},[Ce,_e])}}});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__$6=defineComponent({name:COMPONENT_NAME$1}),_sfc_main$i=defineComponent({...__default__$6,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=ref$1(),L=computed$1(()=>e.closable||r.props.closable),z=computedEager(()=>{var ae;return r.currentName.value===((ae=e.name)!=null?ae:k.value)}),V=ref$1(z.value),j=computed$1(()=>{var ae;return(ae=e.name)!=null?ae:k.value}),ie=computedEager(()=>!e.lazy||V.value||z.value),oe=()=>{var ae;return(ae=y.value)==null?void 0:ae.contains(document.activeElement)};watch(z,ae=>{ae&&(V.value=!0)});const re=reactive$1({uid:t.uid,getVnode:()=>t.vnode,slots:i,props:e,paneName:j,active:z,index:k,isClosable:L,isFocusInsidePane:oe});return r.registerPane(re),onBeforeUnmount(()=>{r.unregisterPane(re)}),onBeforeUpdate(()=>{var ae;i.label&&((ae=r.nav$.value)==null||ae.scheduleRender())}),(ae,le)=>unref(ie)?withDirectives((openBlock(),createElementBlock("div",{key:0,id:"pane-".concat(unref(j)),ref_key:"paneRef",ref:y,class:normalizeClass(unref(g).b()),role:"tabpanel","aria-hidden":!unref(z),"aria-labelledby":"tab-".concat(unref(j))},[renderSlot(ae.$slots,"default")],10,["id","aria-hidden","aria-labelledby"])),[[vShow,unref(z)]]):createCommentVNode("v-if",!0)}});var TabPane=_export_sfc$1(_sfc_main$i,[["__file","tab-pane.vue"]]);const ElTabs=withInstall(Tabs$1,{TabPane}),ElTabPane=withNoopInstall(TabPane),textProps=buildProps({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:componentSizes,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),__default__$5=defineComponent({name:"ElText"}),_sfc_main$h=defineComponent({...__default__$5,props:textProps,setup(n){const e=n,t=ref$1(),i=useFormSize(),r=useNamespace("text"),g=computed$1(()=>[r.b(),r.m(e.type),r.m(i.value),r.is("truncated",e.truncated),r.is("line-clamp",!isUndefined(e.lineClamp))]),y=()=>{var k,L,z,V,j,ie,oe;if(useAttrs$1().title)return;let ae=!1;const le=((k=t.value)==null?void 0:k.textContent)||"";if(e.truncated){const de=(L=t.value)==null?void 0:L.offsetWidth,ue=(z=t.value)==null?void 0:z.scrollWidth;de&&ue&&ue>de&&(ae=!0)}else if(!isUndefined(e.lineClamp)){const de=(V=t.value)==null?void 0:V.offsetHeight,ue=(j=t.value)==null?void 0:j.scrollHeight;de&&ue&&ue>de&&(ae=!0)}ae?(ie=t.value)==null||ie.setAttribute("title",le):(oe=t.value)==null||oe.removeAttribute("title")};return onMounted(y),onUpdated(y),(k,L)=>(openBlock(),createBlock(resolveDynamicComponent(k.tag),{ref_key:"textRef",ref:t,class:normalizeClass(unref(g)),style:normalizeStyle({"-webkit-line-clamp":k.lineClamp})},{default:withCtx(()=>[renderSlot(k.$slots,"default")]),_:3},8,["class","style"]))}});var Text=_export_sfc$1(_sfc_main$h,[["__file","text.vue"]]);const ElText=withInstall(Text),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=(n,e)=>e==null?void 0:e[n||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;r{t.canFocus=e,setCanFocus(t.childNodes,e)})};let nodeIdSeed=0,Node$1=class ha{constructor(e){this.isLeafByUser=void 0,this.isLeaf=void 0,this.id=nodeIdSeed++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const t in e)hasOwn(e,t)&&(this[t]=e[t]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){var e;const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const i=t.props;if(i&&typeof i.isLeaf<"u"){const y=getPropertyFromData(this,"isLeaf");isBoolean(y)&&(this.isLeafByUser=y)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),isArray$1(this.data)||markNodeData(this,this.data),!this.data)return;const r=t.defaultExpandedKeys,g=t.key;g&&!isNil(this.key)&&r&&r.includes(this.key)&&this.expand(null,t.autoExpandParent),g&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||((e=this.parent)==null?void 0:e.expanded)===!0)&&(this.canFocus=!0)}setData(e){isArray$1(e)||markNodeData(this,e),this.data=e,this.childNodes=[];let t;this.level===0&&isArray$1(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 ha)){if(!i){const r=this.getChildren(!0);r!=null&&r.includes(e.data)||(isUndefined(t)||t<0?r==null||r.push(e.data):r==null||r.splice(t,0,e.data))}Object.assign(e,{parent:this,store:this.store}),e=reactive$1(new ha(e)),e instanceof ha&&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&&r.level>0;)r.expanded=!0,r=r.parent}this.expanded=!0,e&&e(),setCanFocus(this.childNodes,!0)};this.shouldLoadData()?this.loadData(r=>{isArray$1(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,setCanFocus(this.childNodes,!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 z=this.childNodes;for(let ie=0,oe=z.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"),isUndefined(t[r])&&(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(z=>(z==null?void 0:z[NODE_KEY])===k)>=0?i[k]={index:y,data:g}:r.push({index:y,data:g})}),this.store.lazy||t.forEach(g=>{i[g==null?void 0: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.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,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()},NOOP)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,i=this.lazy,r=async function(g){const y=g.root?g.root.childNodes:g.childNodes;for(const[k,L]of y.entries())L.visible=!!(t!=null&&t.call(L,e,L.data,L)),k%80===0&&k>0&&await nextTick(),await r(L);if(!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(e)?getNodeKey(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){var i;const r=this.getNode(t);(i=r.parent)==null||i.insertBefore({data:e},r)}insertAfter(e,t){var i;const r=this.getNode(t);(i=r.parent)==null||i.insertAfter({data:e},r)}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){const t=this.defaultCheckedKeys||[];!isNil(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{const i=e.key;isNil(i)||(this.nodesMap[i]=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-z.level),g=Object.create(null),y=Object.keys(i);r.forEach(L=>L.setChecked(!1,!1));const k=L=>{L.childNodes.forEach(z=>{var V;g[z.data[e]]=!0,(V=z.childNodes)!=null&&V.length&&k(z)})};for(let L=0,z=r.length;L{le.isLeaf||le.setChecked(!1,!1),oe(le)})};oe(V)}}}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){var i;const r=e[this.key],g=this.nodesMap[r];this.setCurrentNode(g),t&&this.currentNode&&this.currentNode.level>1&&((i=this.currentNode.parent)==null||i.expand(null,!0))}setCurrentNodeKey(e,t=!0){var i;if(this.currentNodeKey=e,isPropAbsent(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const r=this.getNode(e);r&&(this.setCurrentNode(r),t&&this.currentNode&&this.currentNode.level>1&&((i=this.currentNode.parent)==null||i.expand(null,!0)))}}const ROOT_TREE_INJECTION_KEY="RootTree",NODE_INSTANCE_INJECTION_KEY="NodeInstance",TREE_NODE_MAP_INJECTION_KEY="TreeNodeMap",_sfc_main$g=defineComponent({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(n){const e=useNamespace("tree"),t=inject(NODE_INSTANCE_INJECTION_KEY),i=inject(ROOT_TREE_INJECTION_KEY);return()=>{const r=n.node,{data:g,store:y}=r;return n.renderContent?n.renderContent(h$2,{_self:t,node:r,data:g,store:y}):renderSlot(i.ctx.slots,"default",{node:r,data:g},()=>[h$2(ElText,{tag:"span",truncated:!0,class:e.be("node","label")},()=>[r.label])])}}});var NodeContent=_export_sfc$1(_sfc_main$g,[["__file","tree-node-content.vue"]]);function useNodeExpandEventBroadcast(n){const e=inject(TREE_NODE_MAP_INJECTION_KEY,null),t={treeNodeExpand:i=>{var r;n.node!==i&&((r=n.node)==null||r.collapse())},children:[]};return e&&e.children.push(t),provide(TREE_NODE_MAP_INJECTION_KEY,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:V,treeNode:j})=>{if(V.dataTransfer){if(isFunction$1(n.allowDrag)&&!n.allowDrag(j.node))return V.preventDefault(),!1;V.dataTransfer.effectAllowed="move";try{V.dataTransfer.setData("text/plain","")}catch(ie){}y.value.draggingNode=j,e.emit("node-drag-start",j.node,V)}},treeNodeDragOver:({event:V,treeNode:j})=>{if(!V.dataTransfer)return;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$1(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")),V.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,V),e.emit("node-drag-enter",re.node,ie.node,V)),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,pe=he.querySelector(".".concat(g.be("node","content"))).getBoundingClientRect(),_e=t.value.getBoundingClientRect();let Ce;const xe=ae?le?.25:de?.45:1:-1,Ie=de?le?.75:ae?.55:0:1;let Ne=-9999;const $e=V.clientY-pe.top;$epe.height*Ie?Ce="after":le?Ce="inner":Ce="none";const Oe=he.querySelector(".".concat(g.be("node","expand-icon"))).getBoundingClientRect(),Fe=i.value;Ce==="before"?Ne=Oe.top-_e.top:Ce==="after"&&(Ne=Oe.bottom-_e.top),Fe.style.top="".concat(Ne,"px"),Fe.style.left="".concat(Oe.right-_e.left,"px"),Ce==="inner"?addClass(he,g.is("drop-inner")):removeClass(he,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,V)},treeNodeDragEnd:V=>{var j,ie;const{draggingNode:oe,dropType:re,dropNode:ae}=y.value;if(V.preventDefault(),V.dataTransfer&&(V.dataTransfer.dropEffect="move"),oe!=null&&oe.node.data&&ae){const le={data:oe.node.data};re!=="none"&&oe.node.remove(),re==="before"?(j=ae.node.parent)==null||j.insertBefore(le,ae.node):re==="after"?(ie=ae.node.parent)==null||ie.insertAfter(le,ae.node):re==="inner"&&ae.node.insertChild(le),re!=="none"&&(r.value.registerNode(le),r.value.key&&oe.node.eachNode(de=>{var ue;(ue=r.value.nodesMap[de.data[r.value.key]])==null||ue.setChecked(de.checked,!r.value.checkStrictly)})),removeClass(ae.$el,g.is("drop-inner")),e.emit("node-drag-end",oe.node,ae.node,re,V),re!=="none"&&e.emit("node-drop",oe.node,ae.node,re,V)}oe&&!ae&&e.emit("node-drag-end",oe.node,null,re,V),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:Boolean},emits:["node-expand"],setup(n,e){const t=useNamespace("tree"),{broadcastExpanded:i}=useNodeExpandEventBroadcast(n),r=inject(ROOT_TREE_INJECTION_KEY),g=ref$1(!1),y=ref$1(!1),k=ref$1(),L=ref$1(),z=ref$1(),V=inject(dragEventsKey),j=getCurrentInstance$1();provide(NODE_INSTANCE_INJECTION_KEY,j),n.node.expanded&&(g.value=!0,y.value=!0);const ie=r.props.props.children||"children";watch(()=>{var Ne;const $e=(Ne=n.node.data)==null?void 0:Ne[ie];return $e&&[...$e]},()=>{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 $e=n.props.class;if(!$e)return{};let Oe;if(isFunction$1($e)){const{data:Fe}=Ne;Oe=$e(Fe,Ne)}else Oe=$e;return isString$1(Oe)?{[Oe]:!0}:Oe},ae=(Ne,$e)=>{(k.value!==Ne||L.value!==$e)&&r.ctx.emit("check-change",n.node.data,Ne,$e),k.value=Ne,L.value=$e},le=Ne=>{handleCurrentChange(r.store,r.ctx.emit,()=>{var $e;if(($e=r==null?void 0:r.props)==null?void 0:$e.nodeKey){const Fe=oe(n.node);r.store.value.setCurrentNodeKey(Fe)}else r.store.value.setCurrentNode(n.node)}),r.currentNode.value=n.node,r.props.expandOnClickNode&&ue(),(r.props.checkOnClickNode||n.node.isLeaf&&r.props.checkOnClickLeaf&&n.showCheckbox)&&!n.node.disabled&&he(!n.node.checked),r.ctx.emit("node-click",n.node.data,n.node,j,Ne)},de=Ne=>{var $e;($e=r.instance.vnode.props)!=null&&$e.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=>{n.node.setChecked(Ne,!(r!=null&&r.props.checkStrictly)),nextTick(()=>{const $e=r.store.value;r.ctx.emit("check",n.node.data,{checkedNodes:$e.getCheckedNodes(),checkedKeys:$e.getCheckedKeys(),halfCheckedNodes:$e.getHalfCheckedNodes(),halfCheckedKeys:$e.getHalfCheckedKeys()})})};return{ns:t,node$:z,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,$e,Oe)=>{i($e),r.ctx.emit("node-expand",Ne,$e,Oe)},handleDragStart:Ne=>{r.props.draggable&&V.treeNodeDragStart({event:Ne,treeNode:n})},handleDragOver:Ne=>{Ne.preventDefault(),r.props.draggable&&V.treeNodeDragOver({event:Ne,treeNode:{$el:z.value,node:n.node}})},handleDrop:Ne=>{Ne.preventDefault()},handleDragEnd:Ne=>{r.props.draggable&&V.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"),z=resolveComponent("node-content"),V=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(z,{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,onClick:withModifiers(()=>{},["stop"])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.node.childNodes,ie=>(openBlock(),createBlock(V,{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","onClick"])),[[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$1(_sfc_main$f,[["render",_sfc_render$4],["__file","tree-node.vue"]]);function useKeydown({el$:n},e){const t=useNamespace("tree");onMounted(()=>{g()}),onUpdated(()=>{Array.from(n.value.querySelectorAll("input[type=checkbox]")).forEach(k=>{k.setAttribute("tabindex","-1")})});function i(y,k){var L,z;const V=e.value.getNode(y[k].dataset.key);return V.canFocus&&V.visible&&(((L=V.parent)==null?void 0:L.expanded)||((z=V.parent)==null?void 0:z.level)===0)}useEventListener(n,"keydown",y=>{const k=y.target;if(!k.className.includes(t.b("node")))return;const L=y.code,z=Array.from(n.value.querySelectorAll(".".concat(t.is("focusable"),"[role=treeitem]"))),V=z.indexOf(k);let j;if([EVENT_CODE.up,EVENT_CODE.down].includes(L)){if(y.preventDefault(),L===EVENT_CODE.up){j=V===-1?0:V!==0?V-1:z.length-1;const oe=j;for(;!i(z,j);){if(j--,j===oe){j=-1;break}j<0&&(j=z.length-1)}}else{j=V===-1?0:V=z.length&&(j=0)}}j!==-1&&z[j].focus()}[EVENT_CODE.left,EVENT_CODE.right].includes(L)&&(y.preventDefault(),k.click());const ie=k.querySelector('[type="checkbox"]');[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space].includes(L)&&ie&&(y.preventDefault(),ie.click())});const g=()=>{var y;if(!n.value)return;const k=Array.from(n.value.querySelectorAll(".".concat(t.is("focusable"),"[role=treeitem]")));Array.from(n.value.querySelectorAll("input[type=checkbox]")).forEach(V=>{V.setAttribute("tabindex","-1")});const z=n.value.querySelectorAll(".".concat(t.is("checked"),"[role=treeitem]"));if(z.length){z[0].setAttribute("tabindex","0");return}(y=k[0])==null||y.setAttribute("tabindex","0")}}const _sfc_main$e=defineComponent({name:"ElTree",components:{ElTreeNode},props:{data:{type:definePropType(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:{type:definePropType(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:definePropType(Function)},allowDrop:{type:definePropType(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,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),z=ref$1(null),{broadcastExpanded:V}=useNodeExpandEventBroadcast(n),{dragState:j}=useDragNodeHandler({props:n,ctx:e,el$:L,dropIndicator$:z,store:g});useKeydown({el$:L},g);const ie=computed$1(()=>{const{childNodes:Ue}=y.value,Dt=r?r.hasFilteredOptions!==0:!1;return(!Ue||Ue.length===0||Ue.every(({visible:jt})=>!jt))&&!Dt});watch(()=>n.currentNodeKey,Ue=>{g.value.setCurrentNodeKey(Ue!=null?Ue:null)}),watch(()=>n.defaultCheckedKeys,(Ue,Dt)=>{isEqual(Ue,Dt)||g.value.setDefaultCheckedKey(Ue!=null?Ue:[])}),watch(()=>n.defaultExpandedKeys,Ue=>{g.value.setDefaultExpandedKeys(Ue!=null?Ue:[])}),watch(()=>n.data,Ue=>{g.value.setData(Ue)},{deep:!0}),watch(()=>n.checkStrictly,Ue=>{g.value.checkStrictly=Ue});const oe=Ue=>{if(!n.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");g.value.filter(Ue)},re=Ue=>getNodeKey(n.nodeKey,Ue.data),ae=Ue=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const Dt=g.value.getNode(Ue);if(!Dt)return[];const jt=[Dt.data];let ei=Dt.parent;for(;ei&&ei!==y.value;)jt.push(ei.data),ei=ei.parent;return jt.reverse()},le=(Ue,Dt)=>g.value.getCheckedNodes(Ue,Dt),de=Ue=>g.value.getCheckedKeys(Ue),ue=()=>{const Ue=g.value.getCurrentNode();return Ue?Ue.data:null},he=()=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const Ue=ue();return Ue?Ue[n.nodeKey]:null},pe=(Ue,Dt)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");g.value.setCheckedNodes(Ue,Dt)},_e=(Ue,Dt)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");g.value.setCheckedKeys(Ue,Dt)},Ce=(Ue,Dt,jt)=>{g.value.setChecked(Ue,Dt,jt)},xe=()=>g.value.getHalfCheckedNodes(),Ie=()=>g.value.getHalfCheckedKeys(),Ne=(Ue,Dt=!0)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");handleCurrentChange(g,e.emit,()=>{V(Ue),g.value.setUserCurrentNode(Ue,Dt)})},$e=(Ue,Dt=!0)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");handleCurrentChange(g,e.emit,()=>{V(),g.value.setCurrentNodeKey(Ue!=null?Ue:null,Dt)})},Oe=Ue=>g.value.getNode(Ue),Fe=Ue=>{g.value.remove(Ue)},Et=(Ue,Dt)=>{g.value.append(Ue,Dt)},ze=(Ue,Dt)=>{g.value.insertBefore(Ue,Dt)},qe=(Ue,Dt)=>{g.value.insertAfter(Ue,Dt)},Ve=(Ue,Dt,jt)=>{V(Dt),e.emit("node-expand",Ue,Dt,jt)},kt=(Ue,Dt)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");g.value.updateChildren(Ue,Dt)};return provide(ROOT_TREE_INJECTION_KEY,{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$:z,isEmpty:ie,filter:oe,getNodeKey:re,getNodePath:ae,getCheckedNodes:le,getCheckedKeys:de,getCurrentNode:ue,getCurrentKey:he,setCheckedNodes:pe,setCheckedKeys:_e,setChecked:Ce,getHalfCheckedNodes:xe,getHalfCheckedKeys:Ie,setCurrentNode:Ne,setCurrentKey:$e,t,getNode:Oe,remove:Fe,append:Et,insertBefore:ze,insertAfter:qe,handleNodeExpand:Ve,updateKeyChildren:kt}}});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$1(_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$1(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:Boolean,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),z=computed$1(()=>[r.b("list"),r.bm("list",t.listType),r.is("disabled",t.disabled)]),V=j=>{e("remove",j)};return(j,ie)=>(openBlock(),createBlock(TransitionGroup,{tag:"ul",class:normalizeClass(unref(z)),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)&&V(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=>V(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=>V(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$1(_sfc_main$d,[["__file","upload-list.vue"]]);const uploadDraggerProps=buildProps({disabled:Boolean}),uploadDraggerEmits={file:n=>isArray$1(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=z=>{if(g.value)return;r.value=!1,z.stopPropagation();const V=Array.from(z.dataTransfer.files),j=z.dataTransfer.items||[];V.forEach((ie,oe)=>{var re;const ae=j[oe],le=(re=ae==null?void 0:ae.webkitGetAsEntry)==null?void 0:re.call(ae);le&&(ie.isDirectory=le.isDirectory)}),e("file",V)},k=()=>{g.value||(r.value=!0)},L=z=>{z.currentTarget.contains(z.relatedTarget)||(r.value=!1)};return(z,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(L,["prevent"])},[renderSlot(z.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var UploadDragger=_export_sfc$1(_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:_e}=t;if(de&&ue.length+ae.length>de){_e(ae,ue);return}he||(ae=ae.slice(0,1));for(const Ce of ae){const xe=Ce;xe.uid=genFileId(),pe(xe),le&&L(xe)}},L=async ae=>{if(y.value.value="",!t.beforeUpload)return V(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(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})),V(Object.assign(ue,{uid:ae.uid}),de)},z=async(ae,le)=>isFunction$1(ae)?ae(le):ae,V=async(ae,le)=>{const{headers:de,data:ue,method:he,withCredentials:pe,name:_e,action:Ce,onProgress:xe,onSuccess:Ie,onError:Ne,httpRequest:$e}=t;try{le=await z(le!=null?le:ue,ae)}catch(ze){t.onRemove(ae);return}const{uid:Oe}=ae,Fe={headers:de||{},withCredentials:pe,file:ae,data:le,method:he,filename:_e,action:Ce,onProgress:ze=>{xe(ze,ae)},onSuccess:ze=>{Ie(ze,ae),delete g.value[Oe]},onError:ze=>{Ne(ze,ae),delete g.value[Oe]}},Et=$e(Fe);g.value[Oe]=Et,Et instanceof Promise&&Et.then(Fe.onSuccess,Fe.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$1(_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))},z=(oe,re)=>{const ae=i(re);ae&&(ae.status="success",ae.response=oe,n.onSuccess(oe,ae,t.value),n.onChange(ae,t.value))},V=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:V,handleSuccess:z,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:z,handleError:V,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:z,onProgress:oe,onSuccess:ie,onError:V,onRemove:j}));return onBeforeUnmount(()=>{L.value.forEach(re)}),provide(uploadContextKey,{accept:toRef(t,"accept")}),e({abort:g,submit:y,clearFiles:k,handleStart:z,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$1(_sfc_main$a,[["__file","upload.vue"]]);const ElUpload=withInstall(Upload);function createLoadingComponent(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(oe,re.bm("parent","relative")),oe.removeAttribute("loading-number")),removeClass(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(z,400),r.visible=!1,(oe=n.closed)==null||oe.call(n))}function z(){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("loading");return re({ns:ae,zIndex:le}),()=>{const de=r.spinner||r.svg,ue=h$2("svg",{class:"circular",viewBox:r.svgViewBox?r.svgViewBox:"0 0 50 50",...de?{innerHTML:de}:{}},[h$2("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),he=r.text?h$2("p",{class:ae.b("text")},[r.text]):void 0;return h$2(Transition,{name:ae.b("fade"),onAfterLeave:z},{default:withCtx(()=>[withDirectives(createVNode("div",{style:{backgroundColor:r.background||""},class:[ae.b("mask"),r.customClass,r.fullscreen?"is-fullscreen":""]},[h$2("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:z,vm:ie,get $el(){return ie.$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)}},Loading._context);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$1(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"))};Loading._context=null;const INSTANCE_KEY=Symbol("ElLoading"),getAttributeName=n=>"element-loading-".concat(hyphenate(n)),createInstance=(n,e)=>{var t,i,r,g;const y=e.instance,k=oe=>isObject(e.value)?e.value[oe]:void 0,L=oe=>{const re=isString$1(oe)&&(y==null?void 0:y[oe])||oe;return ref$1(re)},z=oe=>L(k(oe)||n.getAttribute(getAttributeName(oe))),V=(t=k("fullscreen"))!=null?t:e.modifiers.fullscreen,j={text:z("text"),svg:z("svg"),svgViewBox:z("svgViewBox"),spinner:z("spinner"),background:z("background"),customClass:z("customClass"),fullscreen:V,target:(i=k("target"))!=null?i:V?void 0:n,body:(r=k("body"))!=null?r:e.modifiers.body,lock:(g=k("lock"))!=null?g:e.modifiers.lock},ie=Loading(j);ie._context=vLoading._context,n[INSTANCE_KEY]={options:j,instance:ie}},updateOptions=(n,e)=>{for(const t of Object.keys(n))isRef(n[t])&&(n[t].value=e[t])},vLoading={mounted(n,e){e.value&&createInstance(n,e)},updated(n,e){const t=n[INSTANCE_KEY];if(!e.value){t==null||t.instance.close(),n[INSTANCE_KEY]=null;return}t?updateOptions(t.options,isObject(e.value)?e.value:{text:n.getAttribute(getAttributeName("text")),svg:n.getAttribute(getAttributeName("svg")),svgViewBox:n.getAttribute(getAttributeName("svgViewBox")),spinner:n.getAttribute(getAttributeName("spinner")),background:n.getAttribute(getAttributeName("background")),customClass:n.getAttribute(getAttributeName("customClass"))}):createInstance(n,e)},unmounted(n){var e;(e=n[INSTANCE_KEY])==null||e.instance.close(),n[INSTANCE_KEY]=null}};vLoading._context=null;const ElLoading={directive:vLoading},messageTypes=["primary","success","info","warning","error"],messagePlacement=["top","top-left","top-right","bottom","bottom-left","bottom-right"],MESSAGE_DEFAULT_PLACEMENT="top",messageDefaults=mutable({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:isClient?document.body:void 0}),messageProps=buildProps({customClass:{type:String,default:messageDefaults.customClass},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},placement:{type:String,values:messagePlacement,default:messageDefaults.placement},zIndex:{type:Number,default:messageDefaults.zIndex},grouping:{type:Boolean,default:messageDefaults.grouping},repeatNum:{type:Number,default:messageDefaults.repeatNum}}),messageEmits={destroy:()=>!0},placementInstances=shallowReactive({}),getOrCreatePlacementInstances=n=>(placementInstances[n]||(placementInstances[n]=shallowReactive([])),placementInstances[n]),getInstance=(n,e)=>{const t=placementInstances[e]||[],i=t.findIndex(y=>y.id===n),r=t[i];let g;return i>0&&(g=t[i-1]),{current:r,prev:g}},getLastOffset=(n,e)=>{const{prev:t}=getInstance(n,e);return t?t.vm.exposed.bottom.value:0},getOffsetOrSpace=(n,e,t)=>(placementInstances[t]||[]).findIndex(g=>g.id===n)>0?16:e,__default__=defineComponent({name:"ElMessage"}),_sfc_main$9=defineComponent({...__default__,props:messageProps,emits:messageEmits,setup(n,{expose:e,emit:t}){const i=n,{Close:r}=TypeComponents,g=ref$1(!1),{ns:y,zIndex:k}=useGlobalComponentSettings("message"),{currentZIndex:L,nextZIndex:z}=k,V=ref$1(),j=ref$1(!1),ie=ref$1(0);let oe;const re=computed$1(()=>i.type?i.type==="error"?"danger":i.type:"info"),ae=computed$1(()=>{const Fe=i.type;return{[y.bm("icon",Fe)]:Fe&&TypeComponentsMap[Fe]}}),le=computed$1(()=>i.icon||TypeComponentsMap[i.type]||""),de=computed$1(()=>i.placement||MESSAGE_DEFAULT_PLACEMENT),ue=computed$1(()=>getLastOffset(i.id,de.value)),he=computed$1(()=>getOffsetOrSpace(i.id,i.offset,de.value)+ue.value),pe=computed$1(()=>ie.value+he.value),_e=computed$1(()=>de.value.includes("left")?y.is("left"):de.value.includes("right")?y.is("right"):y.is("center")),Ce=computed$1(()=>de.value.startsWith("top")?"top":"bottom"),xe=computed$1(()=>({[Ce.value]:"".concat(he.value,"px"),zIndex:L.value}));function Ie(){i.duration!==0&&({stop:oe}=useTimeoutFn(()=>{$e()},i.duration))}function Ne(){oe==null||oe()}function $e(){j.value=!1,nextTick(()=>{var Fe;g.value||((Fe=i.onClose)==null||Fe.call(i),t("destroy"))})}function Oe({code:Fe}){Fe===EVENT_CODE.esc&&$e()}return onMounted(()=>{Ie(),z(),j.value=!0}),watch(()=>i.repeatNum,()=>{Ne(),Ie()}),useEventListener(document,"keydown",Oe),useResizeObserver(V,()=>{ie.value=V.value.getBoundingClientRect().height}),e({visible:j,bottom:pe,close:$e}),(Fe,Et)=>(openBlock(),createBlock(Transition,{name:unref(y).b("fade"),onBeforeEnter:ze=>g.value=!0,onBeforeLeave:Fe.onClose,onAfterLeave:ze=>Fe.$emit("destroy"),persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{id:Fe.id,ref_key:"messageRef",ref:V,class:normalizeClass([unref(y).b(),{[unref(y).m(Fe.type)]:Fe.type},unref(y).is("closable",Fe.showClose),unref(y).is("plain",Fe.plain),unref(y).is("bottom",unref(Ce)==="bottom"),unref(_e),Fe.customClass]),style:normalizeStyle(unref(xe)),role:"alert",onMouseenter:Ne,onMouseleave:Ie},[Fe.repeatNum>1?(openBlock(),createBlock(unref(ElBadge),{key:0,value:Fe.repeatNum,type:unref(re),class:normalizeClass(unref(y).e("badge"))},null,8,["value","type","class"])):createCommentVNode("v-if",!0),unref(le)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(y).e("icon"),unref(ae)])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(le))))]),_:1},8,["class"])):createCommentVNode("v-if",!0),renderSlot(Fe.$slots,"default",{},()=>[Fe.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(y).e("content")),innerHTML:Fe.message},null,10,["innerHTML"])],2112)):(openBlock(),createElementBlock("p",{key:0,class:normalizeClass(unref(y).e("content"))},toDisplayString(Fe.message),3))]),Fe.showClose?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(y).e("closeBtn")),onClick:withModifiers($e,["stop"])},{default:withCtx(()=>[createVNode(unref(r))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],46,["id"]),[[vShow,j.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var MessageConstructor=_export_sfc$1(_sfc_main$9,[["__file","message.vue"]]);let seed=1;const normalizeAppendTo=n=>{if(!n.appendTo)n.appendTo=document.body;else if(isString$1(n.appendTo)){let t=document.querySelector(n.appendTo);isElement(t)||(t=document.body),n.appendTo=t}},normalizePlacement=n=>{!n.placement&&isString$1(messageConfig.placement)&&messageConfig.placement&&(n.placement=messageConfig.placement),n.placement||(n.placement=MESSAGE_DEFAULT_PLACEMENT),messagePlacement.includes(n.placement)||(n.placement=MESSAGE_DEFAULT_PLACEMENT)},normalizeOptions=n=>{const e=!n||isString$1(n)||isVNode(n)||isFunction$1(n)?{message:n}:n,t={...messageDefaults,...e};return normalizeAppendTo(t),normalizePlacement(t),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),isBoolean(messageConfig.plain)&&!t.plain&&(t.plain=messageConfig.plain),t},closeMessage=n=>{const e=n.props.placement||MESSAGE_DEFAULT_PLACEMENT,t=placementInstances[e],i=t.indexOf(n);if(i===-1)return;t.splice(i,1);const{handler:r}=n;r.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(V)},onDestroy:()=>{render(null,g)}},k=createVNode(MessageConstructor,y,isFunction$1(y.message)||isVNode(y.message)?{default:isFunction$1(y.message)?y.message:()=>y.message}:null);k.appContext=t||message._context,render(k,g),n.appendChild(g.firstElementChild);const L=k.component,V={id:i,vnode:k,vm:L,handler:{close:()=>{L.exposed.close()}},props:k.component.props};return V},message=(n={},e)=>{if(!isClient)return{close:()=>{}};const t=normalizeOptions(n),i=getOrCreatePlacementInstances(t.placement||MESSAGE_DEFAULT_PLACEMENT);if(t.grouping&&i.length){const g=i.find(({vnode:y})=>{var k;return((k=y.props)==null?void 0:k.message)===t.message});if(g)return g.props.repeatNum+=1,g.props.type=t.type,g.handler}if(isNumber(messageConfig.max)&&i.length>=messageConfig.max)return{close:()=>{}};const r=createMessage(t,e);return i.push(r),r.handler};messageTypes.forEach(n=>{message[n]=(e={},t)=>{const i=normalizeOptions(e);return message({...i,type:n},t)}});function closeAll(n){for(const e in placementInstances)if(hasOwn(placementInstances,e)){const t=[...placementInstances[e]];for(const i of t)(!n||n===i.props.type)&&i.handler.close()}}function closeAllByPlacement(n){if(!placementInstances[n])return;[...placementInstances[n]].forEach(t=>t.handler.close())}message.closeAll=closeAll;message.closeAllByPlacement=closeAllByPlacement;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: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),z=reactive$1({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",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()}),V=computed$1(()=>{const kt=z.type;return{[r.bm("icon",kt)]:kt&&TypeComponentsMap[kt]}}),j=useId(),ie=useId(),oe=computed$1(()=>{const kt=z.type;return z.icon||kt&&TypeComponentsMap[kt]||""}),re=computed$1(()=>!!z.message),ae=ref$1(),le=ref$1(),de=ref$1(),ue=ref$1(),he=ref$1(),pe=computed$1(()=>z.confirmButtonClass);watch(()=>z.inputValue,async kt=>{await nextTick(),n.boxType==="prompt"&&kt&&Et()},{immediate:!0}),watch(()=>L.value,kt=>{var Ue,Dt;kt&&(n.boxType!=="prompt"&&(z.autofocus?de.value=(Dt=(Ue=he.value)==null?void 0:Ue.$el)!=null?Dt:ae.value:de.value=ae.value),z.zIndex=k()),n.boxType==="prompt"&&(kt?nextTick().then(()=>{var jt;ue.value&&ue.value.$el&&(z.autofocus?de.value=(jt=ze())!=null?jt:ae.value:de.value=ae.value)}):(z.editorErrorMessage="",z.validateError=!1))});const _e=computed$1(()=>n.draggable),Ce=computed$1(()=>n.overflow),{isDragging:xe}=useDraggable(ae,le,_e,Ce);onMounted(async()=>{await nextTick(),n.closeOnHashChange&&window.addEventListener("hashchange",Ie)}),onBeforeUnmount(()=>{n.closeOnHashChange&&window.removeEventListener("hashchange",Ie)});function Ie(){L.value&&(L.value=!1,nextTick(()=>{z.action&&e("action",z.action)}))}const Ne=()=>{n.closeOnClickModal&&Fe(z.distinguishCancelAndClose?"close":"cancel")},$e=useSameTarget(Ne),Oe=kt=>{if(z.inputType!=="textarea")return kt.preventDefault(),Fe("confirm")},Fe=kt=>{var Ue;n.boxType==="prompt"&&kt==="confirm"&&!Et()||(z.action=kt,z.beforeClose?(Ue=z.beforeClose)==null||Ue.call(z,kt,z,Ie):Ie())},Et=()=>{if(n.boxType==="prompt"){const kt=z.inputPattern;if(kt&&!kt.test(z.inputValue||""))return z.editorErrorMessage=z.inputErrorMessage||y("el.messagebox.error"),z.validateError=!0,!1;const Ue=z.inputValidator;if(isFunction$1(Ue)){const Dt=Ue(z.inputValue);if(Dt===!1)return z.editorErrorMessage=z.inputErrorMessage||y("el.messagebox.error"),z.validateError=!0,!1;if(isString$1(Dt))return z.editorErrorMessage=Dt,z.validateError=!0,!1}}return z.editorErrorMessage="",z.validateError=!1,!0},ze=()=>{var kt,Ue;const Dt=(kt=ue.value)==null?void 0:kt.$refs;return(Ue=Dt==null?void 0:Dt.input)!=null?Ue:Dt==null?void 0:Dt.textarea},qe=()=>{Fe("close")},Ve=()=>{n.closeOnPressEscape&&qe()};return n.lockScroll&&useLockscreen(L),{...toRefs(z),ns:r,overlayEvent:$e,visible:L,hasMessage:re,typeClass:V,contentId:j,inputId:ie,btnSize:g,iconComponent:oe,confirmButtonClasses:pe,rootRef:ae,focusStartRef:de,headerRef:le,inputRef:ue,isDragging:xe,confirmRef:he,doClose:Ie,handleClose:qe,onCloseRequested:Ve,handleWrapperClick:Ne,handleInputEnter:Oe,handleAction:Fe,t:y}}});function _sfc_render$2(n,e,t,i,r,g){const y=resolveComponent("el-icon"),k=resolveComponent("el-input"),L=resolveComponent("el-button"),z=resolveComponent("el-focus-trap"),V=resolveComponent("el-overlay");return openBlock(),createBlock(Transition,{name:"fade-in-linear",onAfterLeave:j=>n.$emit("vanish"),persisted:""},{default:withCtx(()=>[withDirectives(createVNode(V,{"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.is("dragging",n.isDragging),{[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:j=>n.handleAction(n.distinguishCancelAndClose?"close":"cancel"),onKeydown:withKeys(withModifiers(j=>n.handleAction(n.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"])},[createVNode(y,{class:normalizeClass(n.ns.e("close"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.closeIcon||"close")))]),_: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,textContent:toDisplayString(n.message)},null,8,["for","textContent"]))])],2)):createCommentVNode("v-if",!0)],2),withDirectives(createBaseVNode("div",{class:normalizeClass(n.ns.e("input"))},[createVNode(k,{id:n.inputId,ref:"inputRef",modelValue:n.inputValue,"onUpdate:modelValue":j=>n.inputValue=j,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(L,{key:0,loading:n.cancelButtonLoading,"loading-icon":n.cancelButtonLoadingIcon,class:normalizeClass([n.cancelButtonClass]),round:n.roundButton,size:n.btnSize,onClick:j=>n.handleAction("cancel"),onKeydown:withKeys(withModifiers(j=>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(L,{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:j=>n.handleAction("confirm"),onKeydown:withKeys(withModifiers(j=>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$1(_sfc_main$8,[["render",_sfc_render$2],["__file","index.vue"]]);const messageInstance=new Map,getAppendToElement=n=>{let e=document.body;return n.appendTo&&(isString$1(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$1(n.message)||isVNode(n.message)?{default:isFunction$1(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)&&(g==="closeIcon"&&isObject(n[g])?r[g]=markRaw(n[g]):r[g]=n[g]);return r.visible=!0,r};function MessageBox(n,e=null){if(!isClient)return Promise.reject();let t;return isString$1(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(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"},_export_sfc=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t};function _sfc_render$1(n,e,t,i,r,g){const y=resolveComponent("router-view");return openBlock(),createBlock(y)}const App=_export_sfc(_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 z(ie){r.push(ie);const oe=()=>{const re=r.indexOf(ie);re>-1&&r.splice(re,1)};return g.push(oe),oe}function V(){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",V)}return window.addEventListener("popstate",k),window.addEventListener("beforeunload",V,{passive:!0}),{pauseListeners:L,listen:z,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,z,V){const j=n.indexOf("#"),ie=j>-1?(t.host&&document.querySelector("base")?n:n.slice(j))+L:createBaseLocation()+n+L;try{e[V?"replaceState":"pushState"](z,"",ie),r.value=z}catch(oe){console.error(oe),t[V?"replace":"assign"](ie)}}function y(L,z){const V=assign({},e.state,buildState(r.value.back,L,r.value.forward,!0),z,{position:r.value.position});g(L,V,!0),i.value=L}function k(L,z){const V=assign({},r.value,e.state,{forward:L,scroll:computeScrollPosition()});g(V.current,V,!0);const j=assign({},buildState(i.value,L,null),{position:V.position+1},z);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 z of n){const V=z.length?[]:[90];t.strict&&!z.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(z,'": ').concat(oe))}let t=0,i=t;const r=[];let g;function y(){g&&r.push(g),g=[]}let k=0,L,z="",V="";function j(){z&&(t===0?g.push({type:0,value:z}):t===1||t===2||t===3?(g.length>1&&(L==="*"||L==="+")&&e("A repeatable param (".concat(z,") must be alone in its segment. eg: '/:ids+.")),g.push({type:1,value:z,regexp:V,repeatable:L==="*"||L==="+",optional:L==="*"||L==="?"})):e("Invalid state to consume buffer"),z="")}function ie(){z+=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 z(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 V(){t.length=0,i.clear()}return{addRoute:g,resolve:z,removeRoute:y,clearRoutes:V,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 z=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())},V=g(()=>n.call(i&&i.instances[r],e,t,z));let j=Promise.resolve(V);n.length<3&&(j=j.then(z)),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 V=(L.__vccOpts||L)[e];V&&g.push(guardToPromiseFn(V,t,i,y,k,r))}else{let z=L();g.push(()=>z.then(V=>{if(!V)throw new Error("Couldn't resolve component \"".concat(k,'" at "').concat(y.path,'"'));const j=isESModule(V)?V.default:V;y.mods[k]=V,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:z}=L,V=L[z-1],j=t.matched;if(!V||!j.length)return-1;const ie=j.findIndex(isSameRouteRecord.bind(null,V));if(ie>-1)return ie;const oe=getOriginalPath(L[z-2]);return z>1&&getOriginalPath(V)===oe&&j[j.length-1].path!==oe?j.findIndex(isSameRouteRecord.bind(null,L[z-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 z=e[unref(n.replace)?"replace":"push"](unref(n.to)).catch(noop);return n.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>z),z}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$2("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 z=unref(g);const{matched:V}=r.value;let j;for(;(j=V[z])&&!j.components;)z++;return z}),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],([z,V,j],[ie,oe,re])=>{V&&(V.instances[j]=z,oe&&oe!==V&&z&&z===ie&&(V.leaveGuards.size||(V.leaveGuards=oe.leaveGuards),V.updateGuards.size||(V.updateGuards=oe.updateGuards))),z&&V&&(!oe||!isSameRouteRecord(V,oe)||!ie)&&(V.enterCallbacks[j]||[]).forEach(ae=>ae(z))},{flush:"post"}),()=>{const z=r.value,V=n.name,j=k.value,ie=j&&j.components[V];if(!ie)return normalizeSlot(t.default,{Component:ie,route:z});const oe=j.props[V],re=oe?oe===!0?z.params:typeof oe=="function"?oe(z):oe:null,le=h$2(ie,assign({},re,e,{onVnodeUnmounted:de=>{de.component.isUnmounted&&(j.instances[V]=null)},ref:L}));return normalizeSlot(t.default,{Component:le,route:z})||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 z=START_LOCATION_NORMALIZED;isBrowser&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const V=applyToParams.bind(null,ri=>""+ri),j=applyToParams.bind(null,encodeParam),ie=applyToParams.bind(null,decode);function oe(ri,oi){let bi,Ti;return isRouteName(ri)?(bi=e.getRecordMatcher(ri),Ti=oi):Ti=ri,e.addRoute(Ti,bi)}function re(ri){const oi=e.getRecordMatcher(ri);oi&&e.removeRoute(oi)}function ae(){return e.getRoutes().map(ri=>ri.record)}function le(ri){return!!e.getRecordMatcher(ri)}function de(ri,oi){if(oi=assign({},oi||L.value),typeof ri=="string"){const si=parseURL(t,ri,oi.path),_i=e.resolve({path:si.path},oi),Pt=r.createHref(si.fullPath);return assign(si,_i,{params:ie(_i.params),hash:decode(si.hash),redirectedFrom:void 0,href:Pt})}let bi;if(ri.path!=null)bi=assign({},ri,{path:parseURL(t,ri.path,oi.path).path});else{const si=assign({},ri.params);for(const _i in si)si[_i]==null&&delete si[_i];bi=assign({},ri,{params:j(si)}),oi.params=j(oi.params)}const Ti=e.resolve(bi,oi),Si=ri.hash||"";Ti.params=V(ie(Ti.params));const ni=stringifyURL(i,assign({},ri,{hash:encodeHash(Si),path:Ti.path})),fi=r.createHref(ni);return assign({fullPath:ni,hash:Si,query:i===stringifyQuery?normalizeQuery(ri.query):ri.query||{}},Ti,{redirectedFrom:void 0,href:fi})}function ue(ri){return typeof ri=="string"?parseURL(t,ri,L.value.path):assign({},ri)}function he(ri,oi){if(z!==ri)return createRouterError(8,{from:oi,to:ri})}function pe(ri){return xe(ri)}function _e(ri){return pe(assign(ue(ri),{replace:!0}))}function Ce(ri){const oi=ri.matched[ri.matched.length-1];if(oi&&oi.redirect){const{redirect:bi}=oi;let Ti=typeof bi=="function"?bi(ri):bi;return typeof Ti=="string"&&(Ti=Ti.includes("?")||Ti.includes("#")?Ti=ue(Ti):{path:Ti},Ti.params={}),assign({query:ri.query,hash:ri.hash,params:Ti.path!=null?{}:ri.params},Ti)}}function xe(ri,oi){const bi=z=de(ri),Ti=L.value,Si=ri.state,ni=ri.force,fi=ri.replace===!0,si=Ce(bi);if(si)return xe(assign(ue(si),{state:typeof si=="object"?assign({},Si,si.state):Si,force:ni,replace:fi}),oi||bi);const _i=bi;_i.redirectedFrom=oi;let Pt;return!ni&&isSameRouteLocation(i,Ti,bi)&&(Pt=createRouterError(16,{to:_i,from:Ti}),ei(Ti,Ti,!0,!1)),(Pt?Promise.resolve(Pt):$e(_i,Ti)).catch(Lt=>isNavigationFailure(Lt)?isNavigationFailure(Lt,2)?Lt:jt(Lt):Ue(Lt,_i,Ti)).then(Lt=>{if(Lt){if(isNavigationFailure(Lt,2))return xe(assign({replace:fi},ue(Lt.to),{state:typeof Lt.to=="object"?assign({},Si,Lt.to.state):Si,force:ni}),oi||_i)}else Lt=Fe(_i,Ti,!0,fi,Si);return Oe(_i,Ti,Lt),Lt})}function Ie(ri,oi){const bi=he(ri,oi);return bi?Promise.reject(bi):Promise.resolve()}function Ne(ri){const oi=ui.values().next().value;return oi&&typeof oi.runWithContext=="function"?oi.runWithContext(ri):ri()}function $e(ri,oi){let bi;const[Ti,Si,ni]=extractChangingRecords(ri,oi);bi=extractComponentsGuards(Ti.reverse(),"beforeRouteLeave",ri,oi);for(const si of Ti)si.leaveGuards.forEach(_i=>{bi.push(guardToPromiseFn(_i,ri,oi))});const fi=Ie.bind(null,ri,oi);return bi.push(fi),pi(bi).then(()=>{bi=[];for(const si of g.list())bi.push(guardToPromiseFn(si,ri,oi));return bi.push(fi),pi(bi)}).then(()=>{bi=extractComponentsGuards(Si,"beforeRouteUpdate",ri,oi);for(const si of Si)si.updateGuards.forEach(_i=>{bi.push(guardToPromiseFn(_i,ri,oi))});return bi.push(fi),pi(bi)}).then(()=>{bi=[];for(const si of ni)if(si.beforeEnter)if(isArray(si.beforeEnter))for(const _i of si.beforeEnter)bi.push(guardToPromiseFn(_i,ri,oi));else bi.push(guardToPromiseFn(si.beforeEnter,ri,oi));return bi.push(fi),pi(bi)}).then(()=>(ri.matched.forEach(si=>si.enterCallbacks={}),bi=extractComponentsGuards(ni,"beforeRouteEnter",ri,oi,Ne),bi.push(fi),pi(bi))).then(()=>{bi=[];for(const si of y.list())bi.push(guardToPromiseFn(si,ri,oi));return bi.push(fi),pi(bi)}).catch(si=>isNavigationFailure(si,8)?si:Promise.reject(si))}function Oe(ri,oi,bi){k.list().forEach(Ti=>Ne(()=>Ti(ri,oi,bi)))}function Fe(ri,oi,bi,Ti,Si){const ni=he(ri,oi);if(ni)return ni;const fi=oi===START_LOCATION_NORMALIZED,si=isBrowser?history.state:{};bi&&(Ti||fi?r.replace(ri.fullPath,assign({scroll:fi&&si&&si.scroll},Si)):r.push(ri.fullPath,Si)),L.value=ri,ei(ri,oi,bi,fi),jt()}let Et;function ze(){Et||(Et=r.listen((ri,oi,bi)=>{if(!mi.listening)return;const Ti=de(ri),Si=Ce(Ti);if(Si){xe(assign(Si,{replace:!0,force:!0}),Ti).catch(noop);return}z=Ti;const ni=L.value;isBrowser&&saveScrollPosition(getScrollKey(ni.fullPath,bi.delta),computeScrollPosition()),$e(Ti,ni).catch(fi=>isNavigationFailure(fi,12)?fi:isNavigationFailure(fi,2)?(xe(assign(ue(fi.to),{force:!0}),Ti).then(si=>{isNavigationFailure(si,20)&&!bi.delta&&bi.type===NavigationType.pop&&r.go(-1,!1)}).catch(noop),Promise.reject()):(bi.delta&&r.go(-bi.delta,!1),Ue(fi,Ti,ni))).then(fi=>{fi=fi||Fe(Ti,ni,!1),fi&&(bi.delta&&!isNavigationFailure(fi,8)?r.go(-bi.delta,!1):bi.type===NavigationType.pop&&isNavigationFailure(fi,20)&&r.go(-1,!1)),Oe(Ti,ni,fi)}).catch(noop)}))}let qe=useCallbacks(),Ve=useCallbacks(),kt;function Ue(ri,oi,bi){jt(ri);const Ti=Ve.list();return Ti.length?Ti.forEach(Si=>Si(ri,oi,bi)):console.error(ri),Promise.reject(ri)}function Dt(){return kt&&L.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise((ri,oi)=>{qe.add([ri,oi])})}function jt(ri){return kt||(kt=!ri,ze(),qe.list().forEach(([oi,bi])=>ri?bi(ri):oi()),qe.reset()),ri}function ei(ri,oi,bi,Ti){const{scrollBehavior:Si}=n;if(!isBrowser||!Si)return Promise.resolve();const ni=!bi&&getSavedScrollPosition(getScrollKey(ri.fullPath,0))||(Ti||!bi)&&history.state&&history.state.scroll||null;return nextTick().then(()=>Si(ri,oi,ni)).then(fi=>fi&&scrollToPosition(fi)).catch(fi=>Ue(fi,ri,oi))}const ti=ri=>r.go(ri);let hi;const ui=new Set,mi={currentRoute:L,listening:!0,addRoute:oe,removeRoute:re,clearRoutes:e.clearRoutes,hasRoute:le,getRoutes:ae,resolve:de,options:n,push:pe,replace:_e,go:ti,back:()=>ti(-1),forward:()=>ti(1),beforeEach:g.add,beforeResolve:y.add,afterEach:k.add,onError:Ve.add,isReady:Dt,install(ri){const oi=this;ri.component("RouterLink",RouterLink),ri.component("RouterView",RouterView),ri.config.globalProperties.$router=oi,Object.defineProperty(ri.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(L)}),isBrowser&&!hi&&L.value===START_LOCATION_NORMALIZED&&(hi=!0,pe(r.location).catch(Si=>{}));const bi={};for(const Si in START_LOCATION_NORMALIZED)Object.defineProperty(bi,Si,{get:()=>L.value[Si],enumerable:!0});ri.provide(routerKey,oi),ri.provide(routeLocationKey,shallowReactive(bi)),ri.provide(routerViewLocationKey,L);const Ti=ri.unmount;ui.add(ri),ri.unmount=function(){ui.delete(ri),ui.size<1&&(z=START_LOCATION_NORMALIZED,Et&&Et(),Et=null,L.value=START_LOCATION_NORMALIZED,hi=!1,kt=!1),Ti()}}};function pi(ri){return ri.reduce((oi,bi)=>oi.then(()=>Ne(bi)),Promise.resolve())}return mi}function extractChangingRecords(n,e){const t=[],i=[],r=[],g=Math.max(e.matched.length,n.matched.length);for(let y=0;yisSameRouteRecord(z,k))?i.push(k):t.push(k));const L=n.matched[y];L&&(e.matched.find(z=>isSameRouteRecord(z,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")),z=()=>{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[V.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)},V=ref$1(DeviceType.Phone),j=async ie=>{const oe=y(ie),re=g(ie);k.value={width:oe,height:re},await nextTick(),z()};return e({viewerDevice:V}),(ie,oe)=>(openBlock(),createBlock(unref(_sfc_main$f$3),{size:"small",modelValue:V.value,"onUpdate:modelValue":oe[0]||(oe[0]=re=>V.value=re),class:normalizeClass(V.value),onChange:j},{default:withCtx(()=>[createVNode(unref(_sfc_main$g$3),{value:"phone"},{default:withCtx(()=>[...oe[1]||(oe[1]=[createTextVNode("Phone",-1)])]),_:1}),createVNode(unref(_sfc_main$g$3),{value:"pad"},{default:withCtx(()=>[...oe[2]||(oe[2]=[createTextVNode("Pad",-1)])]),_:1}),createVNode(unref(_sfc_main$g$3),{value:"pc"},{default:withCtx(()=>[...oe[3]||(oe[3]=[createTextVNode("PC",-1)])]),_:1})]),_: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,z;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(),(z=r==null?void 0:r.dataSourceService)==null||z.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,z;if((k==null?void 0:k.editorService.get("modifiedNodeIds").size)>0)try{await tMagicMessageBox.confirm("有修改未保存,是否先保存再预览","提示",{confirmButtonText:"保存并预览",cancelButtonText:"预览",type:"warning"}),e(),tMagicMessage.success("保存成功")}catch(V){console.error(V)}g.value=!0,await nextTick(),!(!((L=r.value)!=null&&L.contentWindow)||!((z=i.value)!=null&&z.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,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,z;const r={};if(!n.value)return r;const g=n.value.editorService.get("page"),y=i.targetElIds||[];let k=g&&y.includes("".concat(g.id));if(!k){const V=i.targetElId;if(V){const j=n.value.editorService.getNodeById(V);k=(j==null?void 0:j.type)===NodeType.PAGE}}return r.draggable=!k,r.resizable=!k,r.rotatable=!k,r.keepRatio=e,(z=(L=i==null?void 0:i.targetEl)==null?void 0:L.parentElement)!=null&&z.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/vue"},{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/vue"},_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$1J),{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$w$3),{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$o$3,TMagicButton:_sfc_main$G$2}}),_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,z)=>(openBlock(),createBlock(k,{class:"menu-item button",key:z,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(_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$d$2),{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$d$2),{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$w$3),{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,187,255);--el-color-primary-light-5:rgb(160,207,255);--el-color-primary-light-7:rgb(198,226,255);--el-color-primary-light-8:rgb(217,236,255);--el-color-primary-light-9:rgb(236,245,255);--el-color-primary-dark-2:rgb(51,126,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(149,212,117);--el-color-success-light-5:rgb(179,225,157);--el-color-success-light-7:rgb(209,237,196);--el-color-success-light-8:rgb(225,243,216);--el-color-success-light-9:rgb(240,249,235);--el-color-success-dark-2:rgb(82,155,46);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(238,190,119);--el-color-warning-light-5:rgb(243,209,158);--el-color-warning-light-7:rgb(248,227,197);--el-color-warning-light-8:rgb(250,236,216);--el-color-warning-light-9:rgb(253,246,236);--el-color-warning-dark-2:rgb(184,130,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152,152);--el-color-danger-light-5:rgb(250,182,182);--el-color-danger-light-7:rgb(252,211,211);--el-color-danger-light-8:rgb(253,226,226);--el-color-danger-light-9:rgb(254,240,240);--el-color-danger-dark-2:rgb(196,86,86);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152,152);--el-color-error-light-5:rgb(250,182,182);--el-color-error-light-7:rgb(252,211,211);--el-color-error-light-8:rgb(253,226,226);--el-color-error-light-9:rgb(254,240,240);--el-color-error-dark-2:rgb(196,86,86);--el-color-info:#909399;--el-color-info-light-3:rgb(177,179,184);--el-color-info-light-5:rgb(200,201,204);--el-color-info-light-7:rgb(222,223,224);--el-color-info-light-8:rgb(233,233,235);--el-color-info-light-9:rgb(244,244,245);--el-color-info-dark-2:rgb(115,118,122);--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--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--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color)}.el-alert--primary.is-light,.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.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__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.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);cursor:default;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-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 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__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.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;line-height:normal;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;line-height:normal;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__collapse-tags .el-tag{margin:2px 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:translate(-45%,-60%) 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:50%;position:absolute;top:50%;transform:translate(-45%,-60%) 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;line-height:var(--el-collapse-header-height);min-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;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{flex:auto;text-align:left}.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-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{background:var(--el-bg-color-overlay);box-sizing:content-box;padding:12px;width:300px}.el-color-picker-panel.is-border{border:1px solid var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{display:flex;justify-content:space-between;margin-top:12px;text-align:right}.el-color-picker-panel__footer .el-input{color:#000000;font-size:12px;line-height:26px;width:160px}.el-color-picker-panel.is-disabled .el-color-hue-slider,.el-color-picker-panel.is-disabled .el-color-svpanel{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap;gap:8px}.el-color-predefine__color-selector{border-radius:4px;cursor:pointer;height:20px;width:20px}.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.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.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-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333333}.el-color-picker{display:inline-block;height:32px;line-height:normal;outline:none;position:relative;width:32px}.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 .el-color-picker__trigger{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{height:40px;width:40px}.el-color-picker--small{height:24px;width:24px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__trigger{align-items:center;border:1px solid var(--el-border-color);border-radius:4px;cursor:pointer;display:inline-flex;font-size:0;justify-content:center;padding:4px}.el-color-picker__color,.el-color-picker__trigger{box-sizing:border-box;height:100%;position:relative;width:100%}.el-color-picker__color{border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);display:block;text-align:center}.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)}.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-off-text-color);cursor:default;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-date-table th.el-date-table__week-header{padding:0;width:24px}.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.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-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-input-clear-hover-color)}.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-input-clear-hover-color)}.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}.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-popper-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.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{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-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.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__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-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.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-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.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-picker-panel.is-border{border:1px solid var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;height:100%;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.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;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-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.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;height:100%;overflow:hidden;transition:all var(--el-transition-duration);width:100%}.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:var(--el-text-color-primary);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-splitter>.el-splitter-bar .el-splitter-bar__disable{display:none}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-horizontal:before{width:1px}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-vertical:before{height:1px}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger:not(.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-active,.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger:hover):before{background-color:transparent}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active .el-splitter-bar__dragger,.el-drawer-fade-leave-active .el-splitter-bar__dragger{display:none}.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;text-align:left}.el-form-item--label-right .el-form-item__label{justify-content:flex-end;text-align:right}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left;width:-moz-fit-content;width:fit-content}.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;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-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .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}.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%)}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;gap:22px;height:100%;justify-content:space-around;padding:0 6px;width:100%}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{bottom:90px;color:#fff;cursor:default;left:50%;transform:translateX(-50%)}.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}.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-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.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;flex:1;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.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.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}.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__input-tag-list{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{border-color:transparent;cursor:pointer}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.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.is-hover-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-underline:after{border-bottom:1px solid var(--el-link-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.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--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--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--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--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--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.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-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-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{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-active-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.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.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}.is-message-box .el-overlay-message-box{bottom:0;left:0;overflow:auto;padding:16px;position:fixed;right:0;text-align:center;top:0}.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--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.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;min-width: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;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;width:-moz-fit-content;width:fit-content}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translateX(-50%)}.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--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.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}.el-message-fade-enter-from:is(.is-left,.is-right),.el-message-fade-leave-to:is(.is-left,.is-right){transform:translateY(-100%)}.el-message-fade-enter-from:is(.is-left,.is-right).is-bottom,.el-message-fade-leave-to:is(.is-left,.is-right).is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{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--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-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{background-color:var(--el-color-white);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{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}.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,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.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__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.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-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:currentColor;position:absolute}.el-step__line-inner{border:1px solid;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{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;flex-shrink:0;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);box-sizing:border-box;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);margin-top:-1px;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}.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--left>.el-tabs__content+.el-tabs__header{order:-1}.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}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.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);margin-right:30px}.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-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;word-break:normal;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;bottom:0;content:"";left:0;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;right:0;top:0}.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-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)}.el-splitter{display:flex;height:100%;margin:0;padding:0;position:relative;width:100%}.el-splitter__mask{bottom:0;left:0;position:absolute;right:0;top:0;z-index:999}.el-splitter__mask-horizontal{cursor:col-resize}.el-splitter__mask-vertical{cursor:row-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{flex:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-splitter-bar__disable{cursor:auto!important}.el-splitter-bar__disable:before{background-color:var(--el-border-color-light)!important}.el-splitter-bar__dragger{background:transparent;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.el-splitter-bar__dragger:after,.el-splitter-bar__dragger:before{background-color:var(--el-border-color-light);content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:after,.el-splitter-bar__dragger-horizontal:before{height:100%;width:2px}.el-splitter-bar__dragger-vertical:after,.el-splitter-bar__dragger-vertical:before{height:2px;width:100%}.el-splitter-bar__dragger-active:after,.el-splitter-bar__dragger-active:before{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{align-items:center;background:var(--el-border-color-light);border-radius:2px;cursor:pointer;display:flex;justify-content:center;opacity:0;position:absolute;z-index:9}.el-splitter-bar__collapse-icon:hover{background-color:var(--el-color-primary-light-5);opacity:1}.el-splitter-bar__horizontal-collapse-icon-start{height:24px;left:-12px;top:50%;transform:translate(-50%,-50%);width:16px}.el-splitter-bar__horizontal-collapse-icon-end{height:24px;left:12px;top:50%;transform:translate(-50%,-50%);width:16px}.el-splitter-bar__vertical-collapse-icon-start{height:16px;right:50%;top:-12px;transform:translate(50%,-50%);width:24px}.el-splitter-bar__vertical-collapse-icon-end{height:16px;right:50%;top:12px;transform:translate(50%,-50%);width:24px}.el-splitter-panel{box-sizing:border-box;flex-grow:0;overflow:auto;scrollbar-width:thin}',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 z=new App$1({ua:e==null?void 0:e.navigator.userAgent,disabledFlexible:!0,platform:"editor"});z.mForm=t;const V=()=>{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 z},updateRootConfig(re){i.value=re,z==null||z.setConfig(re,g.value)},updatePageId(re){g.value=re,z==null||z.setPage(re)},select(re){var le;y.value=re,z!=null&&z.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,_e;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 Ce=(de=z==null?void 0:z.page)==null?void 0:de.getNode(le.id);Ce&&((ue=z==null?void 0:z.page)==null||ue.initNode(re,Ce))}if(le.id!==y.value){const Ce=(he=le.items)==null?void 0:he.findIndex(xe=>xe.id===y.value);(pe=le.items)==null||pe.splice(Ce+1,0,re)}else(_e=le.items)==null||_e.push(re);V()},update({config:re,parentId:ae}){var ue,he;if(!i.value||!z)throw new Error("error");const le=((ue=z.dataSourceManager)==null?void 0:ue.compiledNode(re))||re;replaceChildNode(reactive$1(le),[i.value],ae);const de=(he=z.page)==null?void 0:he.getNode(re.id);de&&de.setData(re),V()},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"?z==null||z.deletePage():(he=z==null?void 0:z.page)==null||he.deleteNode(le.id);const ue=(pe=de.items)==null?void 0:pe.findIndex(_e=>_e.id===le.id);de.items.splice(ue,1),V()}}))};return e==null||e.addEventListener("message",j),onBeforeUnmount(()=>{z==null||z.destroy(),z=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,z,V;const y=(L=(k=e.stage.renderer)==null?void 0:k.getDocument())==null?void 0:L.querySelector(".m-form");y&&((V=(z=e.stage.renderer)==null?void 0:z.contentWindow)==null||V.magic.onPageElUpdate(y))})}),(y,k)=>{var L,z;return openBlock(),createBlock(unref(_sfc_main$d$2),{ref_key:"mForm",ref:t,key:(L=unref(r))==null?void 0:L.id,"data-tmagic-id":(z=unref(r))==null?void 0:z.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(index$2),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,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$1J),{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$1K),{class:"left-panel",columns:columns.value,data:data.value,"show-header":!0},null,8,["columns","data"]),createVNode(unref(_sfc_main$5$4),{class:"right-panel",modelValue:"columns"},{default:withCtx(()=>[createVNode(unref(_sfc_main$6$3),{label:"columns",name:"columns"},{default:withCtx(()=>[createVNode(unref(_sfc_main$1q$1),{class:"code-editor-content","init-values":columns.value,onSave:change},null,8,["init-values"])]),_:1}),createVNode(unref(_sfc_main$6$3),{label:"data",name:"data"},{default:withCtx(()=>[createVNode(unref(_sfc_main$1q$1),{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.typescript.typescriptDefaults.setEagerModelSync(!0);const app=createApp(App);app.use(router);app.use(index,adapter);app.mount("#app");export{__vite_legacy_guard,monaco_editor_core_star as m,typescriptDefaults as t}; //# sourceMappingURL=index-Cz81MxcK.js.map